{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "mount_file_id": "1PjuWINV-yAYua5aqjTaE4NbzjfB_NVzw",
      "authorship_tag": "ABX9TyOsuxYx07d5lluzrwX9OWNL",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/faizaslam11/ECG_model_arrhythmia/blob/main/CNN%2BLSTM.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "id": "DqF3u7UaGcEW"
      },
      "outputs": [],
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "import plotly.express as px"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# This Python 3 environment comes with many helpful analytics libraries installed\n",
        "\n",
        "import numpy as np # linear algebra\n",
        "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n",
        "\n",
        "import os\n",
        "for dirname, _, filenames in os.walk('/content'):\n",
        "    for filename in filenames:\n",
        "        print(os.path.join(dirname, filename))\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Otcu0v0fHKVC",
        "outputId": "ac1572a9-a089-4e97-93d7-9d0406bea087"
      },
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "/content/mitbih_train.csv\n",
            "/content/mitbih_test.csv\n",
            "/content/.config/.last_survey_prompt.yaml\n",
            "/content/.config/default_configs.db\n",
            "/content/.config/active_config\n",
            "/content/.config/.last_update_check.json\n",
            "/content/.config/config_sentinel\n",
            "/content/.config/gce\n",
            "/content/.config/.last_opt_in_prompt.yaml\n",
            "/content/.config/logs/2024.05.30/13.36.15.385607.log\n",
            "/content/.config/logs/2024.05.30/13.30.33.059431.log\n",
            "/content/.config/logs/2024.05.30/13.36.03.155708.log\n",
            "/content/.config/logs/2024.05.30/13.23.26.998698.log\n",
            "/content/.config/logs/2024.05.30/13.36.16.059291.log\n",
            "/content/.config/logs/2024.05.30/13.30.21.274210.log\n",
            "/content/.config/configurations/config_default\n",
            "/content/sample_data/anscombe.json\n",
            "/content/sample_data/README.md\n",
            "/content/sample_data/mnist_test.csv\n",
            "/content/sample_data/california_housing_train.csv\n",
            "/content/sample_data/mnist_train_small.csv\n",
            "/content/sample_data/california_housing_test.csv\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# import train set of the MIT-BIH Arrhythmia Dataset\n",
        "mit_train = pd.read_csv('/content/mitbih_train.csv',\n",
        "                          header=None)\n",
        "\n",
        "print('The shape of train dataset :', mit_train.shape)\n",
        "mit_train.head()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 273
        },
        "id": "8xFQE4lWHq9B",
        "outputId": "c96205d0-6ea2-41de-d61d-7850244549b7"
      },
      "execution_count": 19,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "The shape of train dataset : (87554, 188)\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "        0         1         2         3         4         5         6    \\\n",
              "0  0.977941  0.926471  0.681373  0.245098  0.154412  0.191176  0.151961   \n",
              "1  0.960114  0.863248  0.461538  0.196581  0.094017  0.125356  0.099715   \n",
              "2  1.000000  0.659459  0.186486  0.070270  0.070270  0.059459  0.056757   \n",
              "3  0.925414  0.665746  0.541436  0.276243  0.196133  0.077348  0.071823   \n",
              "4  0.967136  1.000000  0.830986  0.586854  0.356808  0.248826  0.145540   \n",
              "\n",
              "        7         8         9    ...  178  179  180  181  182  183  184  185  \\\n",
              "0  0.085784  0.058824  0.049020  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "1  0.088319  0.074074  0.082621  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "2  0.043243  0.054054  0.045946  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "3  0.060773  0.066298  0.058011  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "4  0.089202  0.117371  0.150235  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "\n",
              "   186  187  \n",
              "0  0.0  0.0  \n",
              "1  0.0  0.0  \n",
              "2  0.0  0.0  \n",
              "3  0.0  0.0  \n",
              "4  0.0  0.0  \n",
              "\n",
              "[5 rows x 188 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-48fad8ae-17b6-4985-99c0-9a16528f4a9c\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "      <th>2</th>\n",
              "      <th>3</th>\n",
              "      <th>4</th>\n",
              "      <th>5</th>\n",
              "      <th>6</th>\n",
              "      <th>7</th>\n",
              "      <th>8</th>\n",
              "      <th>9</th>\n",
              "      <th>...</th>\n",
              "      <th>178</th>\n",
              "      <th>179</th>\n",
              "      <th>180</th>\n",
              "      <th>181</th>\n",
              "      <th>182</th>\n",
              "      <th>183</th>\n",
              "      <th>184</th>\n",
              "      <th>185</th>\n",
              "      <th>186</th>\n",
              "      <th>187</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.977941</td>\n",
              "      <td>0.926471</td>\n",
              "      <td>0.681373</td>\n",
              "      <td>0.245098</td>\n",
              "      <td>0.154412</td>\n",
              "      <td>0.191176</td>\n",
              "      <td>0.151961</td>\n",
              "      <td>0.085784</td>\n",
              "      <td>0.058824</td>\n",
              "      <td>0.049020</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.960114</td>\n",
              "      <td>0.863248</td>\n",
              "      <td>0.461538</td>\n",
              "      <td>0.196581</td>\n",
              "      <td>0.094017</td>\n",
              "      <td>0.125356</td>\n",
              "      <td>0.099715</td>\n",
              "      <td>0.088319</td>\n",
              "      <td>0.074074</td>\n",
              "      <td>0.082621</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.659459</td>\n",
              "      <td>0.186486</td>\n",
              "      <td>0.070270</td>\n",
              "      <td>0.070270</td>\n",
              "      <td>0.059459</td>\n",
              "      <td>0.056757</td>\n",
              "      <td>0.043243</td>\n",
              "      <td>0.054054</td>\n",
              "      <td>0.045946</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.925414</td>\n",
              "      <td>0.665746</td>\n",
              "      <td>0.541436</td>\n",
              "      <td>0.276243</td>\n",
              "      <td>0.196133</td>\n",
              "      <td>0.077348</td>\n",
              "      <td>0.071823</td>\n",
              "      <td>0.060773</td>\n",
              "      <td>0.066298</td>\n",
              "      <td>0.058011</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.967136</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.830986</td>\n",
              "      <td>0.586854</td>\n",
              "      <td>0.356808</td>\n",
              "      <td>0.248826</td>\n",
              "      <td>0.145540</td>\n",
              "      <td>0.089202</td>\n",
              "      <td>0.117371</td>\n",
              "      <td>0.150235</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>5 rows × 188 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-48fad8ae-17b6-4985-99c0-9a16528f4a9c')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-48fad8ae-17b6-4985-99c0-9a16528f4a9c button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-48fad8ae-17b6-4985-99c0-9a16528f4a9c');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-e82ad028-1db1-4658-bfd4-506ea096aac6\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-e82ad028-1db1-4658-bfd4-506ea096aac6')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-e82ad028-1db1-4658-bfd4-506ea096aac6 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "mit_train"
            }
          },
          "metadata": {},
          "execution_count": 19
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# import test set of the MIT-BIH Arrhythmia Dataset\n",
        "mit_test = pd.read_csv('/content/mitbih_test.csv',\n",
        "                          header=None)\n",
        "\n",
        "print('The shape of test dataset :', mit_test.shape)\n",
        "mit_test.head()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 273
        },
        "id": "hp97E9wAHzdg",
        "outputId": "281208eb-60dc-4f3c-f042-281ae5efefa3"
      },
      "execution_count": 20,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "The shape of test dataset : (21892, 188)\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "        0         1         2         3         4         5         6    \\\n",
              "0  1.000000  0.758264  0.111570  0.000000  0.080579  0.078512  0.066116   \n",
              "1  0.908425  0.783883  0.531136  0.362637  0.366300  0.344322  0.333333   \n",
              "2  0.730088  0.212389  0.000000  0.119469  0.101770  0.101770  0.110619   \n",
              "3  1.000000  0.910417  0.681250  0.472917  0.229167  0.068750  0.000000   \n",
              "4  0.570470  0.399329  0.238255  0.147651  0.000000  0.003356  0.040268   \n",
              "\n",
              "        7         8         9    ...  178  179  180  181  182  183  184  185  \\\n",
              "0  0.049587  0.047521  0.035124  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "1  0.307692  0.296703  0.300366  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "2  0.123894  0.115044  0.132743  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "3  0.004167  0.014583  0.054167  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "4  0.080537  0.070470  0.090604  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
              "\n",
              "   186  187  \n",
              "0  0.0  0.0  \n",
              "1  0.0  0.0  \n",
              "2  0.0  0.0  \n",
              "3  0.0  0.0  \n",
              "4  0.0  0.0  \n",
              "\n",
              "[5 rows x 188 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-26161d4a-2083-44a8-99d1-3cc8a6ab7b19\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "      <th>2</th>\n",
              "      <th>3</th>\n",
              "      <th>4</th>\n",
              "      <th>5</th>\n",
              "      <th>6</th>\n",
              "      <th>7</th>\n",
              "      <th>8</th>\n",
              "      <th>9</th>\n",
              "      <th>...</th>\n",
              "      <th>178</th>\n",
              "      <th>179</th>\n",
              "      <th>180</th>\n",
              "      <th>181</th>\n",
              "      <th>182</th>\n",
              "      <th>183</th>\n",
              "      <th>184</th>\n",
              "      <th>185</th>\n",
              "      <th>186</th>\n",
              "      <th>187</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.758264</td>\n",
              "      <td>0.111570</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.080579</td>\n",
              "      <td>0.078512</td>\n",
              "      <td>0.066116</td>\n",
              "      <td>0.049587</td>\n",
              "      <td>0.047521</td>\n",
              "      <td>0.035124</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.908425</td>\n",
              "      <td>0.783883</td>\n",
              "      <td>0.531136</td>\n",
              "      <td>0.362637</td>\n",
              "      <td>0.366300</td>\n",
              "      <td>0.344322</td>\n",
              "      <td>0.333333</td>\n",
              "      <td>0.307692</td>\n",
              "      <td>0.296703</td>\n",
              "      <td>0.300366</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.730088</td>\n",
              "      <td>0.212389</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.119469</td>\n",
              "      <td>0.101770</td>\n",
              "      <td>0.101770</td>\n",
              "      <td>0.110619</td>\n",
              "      <td>0.123894</td>\n",
              "      <td>0.115044</td>\n",
              "      <td>0.132743</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.910417</td>\n",
              "      <td>0.681250</td>\n",
              "      <td>0.472917</td>\n",
              "      <td>0.229167</td>\n",
              "      <td>0.068750</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.004167</td>\n",
              "      <td>0.014583</td>\n",
              "      <td>0.054167</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.570470</td>\n",
              "      <td>0.399329</td>\n",
              "      <td>0.238255</td>\n",
              "      <td>0.147651</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.003356</td>\n",
              "      <td>0.040268</td>\n",
              "      <td>0.080537</td>\n",
              "      <td>0.070470</td>\n",
              "      <td>0.090604</td>\n",
              "      <td>...</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>5 rows × 188 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-26161d4a-2083-44a8-99d1-3cc8a6ab7b19')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-26161d4a-2083-44a8-99d1-3cc8a6ab7b19 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-26161d4a-2083-44a8-99d1-3cc8a6ab7b19');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-92ba406c-fb9f-41df-91ab-a9a0ed013fb6\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-92ba406c-fb9f-41df-91ab-a9a0ed013fb6')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-92ba406c-fb9f-41df-91ab-a9a0ed013fb6 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "mit_test"
            }
          },
          "metadata": {},
          "execution_count": 20
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Check the labels in both train and test set\n",
        "print('train set classes: ', mit_train.iloc[:, -1].unique())\n",
        "print('train set classes: ', mit_test.iloc[:, -1].unique())"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "C4plINSEICj3",
        "outputId": "f6570dfa-959f-4f06-b577-48aa7e2efa05"
      },
      "execution_count": 21,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "train set classes:  [0. 1. 2. 3. 4.]\n",
            "train set classes:  [0. 1. 2. 3. 4.]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Change the dtype of label column to integer\n",
        "mit_train[187] = mit_train[187].astype('int64')\n",
        "\n",
        "mit_test[187] = mit_test[187].astype('int64')"
      ],
      "metadata": {
        "id": "xfKbtKuNa_YD"
      },
      "execution_count": 22,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "mit_train.info()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "qZbXqdVGbBNr",
        "outputId": "bfa11187-ba3e-45f9-805e-5130f3609086"
      },
      "execution_count": 23,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "<class 'pandas.core.frame.DataFrame'>\n",
            "RangeIndex: 87554 entries, 0 to 87553\n",
            "Columns: 188 entries, 0 to 187\n",
            "dtypes: float64(187), int64(1)\n",
            "memory usage: 125.6 MB\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "mit_train.describe()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 350
        },
        "id": "aJz6bStUbCoz",
        "outputId": "16d23f65-032e-495f-d93b-1339b0f45f2c"
      },
      "execution_count": 24,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                0             1             2             3             4    \\\n",
              "count  87554.000000  87554.000000  87554.000000  87554.000000  87554.000000   \n",
              "mean       0.890360      0.758160      0.423972      0.219104      0.201127   \n",
              "std        0.240909      0.221813      0.227305      0.206878      0.177058   \n",
              "min        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
              "25%        0.921922      0.682486      0.250969      0.048458      0.082329   \n",
              "50%        0.991342      0.826013      0.429472      0.166000      0.147878   \n",
              "75%        1.000000      0.910506      0.578767      0.341727      0.258993   \n",
              "max        1.000000      1.000000      1.000000      1.000000      1.000000   \n",
              "\n",
              "                5             6             7             8             9    \\\n",
              "count  87554.000000  87554.000000  87554.000000  87554.000000  87554.000000   \n",
              "mean       0.210399      0.205808      0.201773      0.198691      0.196757   \n",
              "std        0.171909      0.178481      0.177240      0.171778      0.168357   \n",
              "min        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
              "25%        0.088416      0.073333      0.066116      0.065000      0.068639   \n",
              "50%        0.158798      0.145324      0.144424      0.150000      0.148734   \n",
              "75%        0.287628      0.298237      0.295391      0.290832      0.283636   \n",
              "max        1.000000      1.000000      1.000000      1.000000      1.000000   \n",
              "\n",
              "       ...           178           179           180           181  \\\n",
              "count  ...  87554.000000  87554.000000  87554.000000  87554.000000   \n",
              "mean   ...      0.005025      0.004628      0.004291      0.003945   \n",
              "std    ...      0.044154      0.042089      0.040525      0.038651   \n",
              "min    ...      0.000000      0.000000      0.000000      0.000000   \n",
              "25%    ...      0.000000      0.000000      0.000000      0.000000   \n",
              "50%    ...      0.000000      0.000000      0.000000      0.000000   \n",
              "75%    ...      0.000000      0.000000      0.000000      0.000000   \n",
              "max    ...      1.000000      1.000000      1.000000      1.000000   \n",
              "\n",
              "                182           183           184           185           186  \\\n",
              "count  87554.000000  87554.000000  87554.000000  87554.000000  87554.000000   \n",
              "mean       0.003681      0.003471      0.003221      0.002945      0.002807   \n",
              "std        0.037193      0.036255      0.034789      0.032865      0.031924   \n",
              "min        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
              "25%        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
              "50%        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
              "75%        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
              "max        1.000000      1.000000      1.000000      1.000000      1.000000   \n",
              "\n",
              "                187  \n",
              "count  87554.000000  \n",
              "mean       0.473376  \n",
              "std        1.143184  \n",
              "min        0.000000  \n",
              "25%        0.000000  \n",
              "50%        0.000000  \n",
              "75%        0.000000  \n",
              "max        4.000000  \n",
              "\n",
              "[8 rows x 188 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-7f1cd979-2180-4162-991a-be58960aa6dc\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "      <th>2</th>\n",
              "      <th>3</th>\n",
              "      <th>4</th>\n",
              "      <th>5</th>\n",
              "      <th>6</th>\n",
              "      <th>7</th>\n",
              "      <th>8</th>\n",
              "      <th>9</th>\n",
              "      <th>...</th>\n",
              "      <th>178</th>\n",
              "      <th>179</th>\n",
              "      <th>180</th>\n",
              "      <th>181</th>\n",
              "      <th>182</th>\n",
              "      <th>183</th>\n",
              "      <th>184</th>\n",
              "      <th>185</th>\n",
              "      <th>186</th>\n",
              "      <th>187</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>...</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "      <td>87554.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>0.890360</td>\n",
              "      <td>0.758160</td>\n",
              "      <td>0.423972</td>\n",
              "      <td>0.219104</td>\n",
              "      <td>0.201127</td>\n",
              "      <td>0.210399</td>\n",
              "      <td>0.205808</td>\n",
              "      <td>0.201773</td>\n",
              "      <td>0.198691</td>\n",
              "      <td>0.196757</td>\n",
              "      <td>...</td>\n",
              "      <td>0.005025</td>\n",
              "      <td>0.004628</td>\n",
              "      <td>0.004291</td>\n",
              "      <td>0.003945</td>\n",
              "      <td>0.003681</td>\n",
              "      <td>0.003471</td>\n",
              "      <td>0.003221</td>\n",
              "      <td>0.002945</td>\n",
              "      <td>0.002807</td>\n",
              "      <td>0.473376</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>0.240909</td>\n",
              "      <td>0.221813</td>\n",
              "      <td>0.227305</td>\n",
              "      <td>0.206878</td>\n",
              "      <td>0.177058</td>\n",
              "      <td>0.171909</td>\n",
              "      <td>0.178481</td>\n",
              "      <td>0.177240</td>\n",
              "      <td>0.171778</td>\n",
              "      <td>0.168357</td>\n",
              "      <td>...</td>\n",
              "      <td>0.044154</td>\n",
              "      <td>0.042089</td>\n",
              "      <td>0.040525</td>\n",
              "      <td>0.038651</td>\n",
              "      <td>0.037193</td>\n",
              "      <td>0.036255</td>\n",
              "      <td>0.034789</td>\n",
              "      <td>0.032865</td>\n",
              "      <td>0.031924</td>\n",
              "      <td>1.143184</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>...</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>0.921922</td>\n",
              "      <td>0.682486</td>\n",
              "      <td>0.250969</td>\n",
              "      <td>0.048458</td>\n",
              "      <td>0.082329</td>\n",
              "      <td>0.088416</td>\n",
              "      <td>0.073333</td>\n",
              "      <td>0.066116</td>\n",
              "      <td>0.065000</td>\n",
              "      <td>0.068639</td>\n",
              "      <td>...</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>0.991342</td>\n",
              "      <td>0.826013</td>\n",
              "      <td>0.429472</td>\n",
              "      <td>0.166000</td>\n",
              "      <td>0.147878</td>\n",
              "      <td>0.158798</td>\n",
              "      <td>0.145324</td>\n",
              "      <td>0.144424</td>\n",
              "      <td>0.150000</td>\n",
              "      <td>0.148734</td>\n",
              "      <td>...</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.910506</td>\n",
              "      <td>0.578767</td>\n",
              "      <td>0.341727</td>\n",
              "      <td>0.258993</td>\n",
              "      <td>0.287628</td>\n",
              "      <td>0.298237</td>\n",
              "      <td>0.295391</td>\n",
              "      <td>0.290832</td>\n",
              "      <td>0.283636</td>\n",
              "      <td>...</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>...</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>4.000000</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>8 rows × 188 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7f1cd979-2180-4162-991a-be58960aa6dc')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-7f1cd979-2180-4162-991a-be58960aa6dc button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-7f1cd979-2180-4162-991a-be58960aa6dc');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-2ea1b192-3f5f-4652-b976-df91992650dd\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-2ea1b192-3f5f-4652-b976-df91992650dd')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-2ea1b192-3f5f-4652-b976-df91992650dd button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe"
            }
          },
          "metadata": {},
          "execution_count": 24
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Check for missing values\n",
        "pd.set_option('display.max_rows', None)\n",
        "mit_train.isna().sum()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "LesocM3-brhy",
        "outputId": "e7ae40b4-a382-4db3-e0b1-8d0ae5f504fe"
      },
      "execution_count": 25,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "0      0\n",
              "1      0\n",
              "2      0\n",
              "3      0\n",
              "4      0\n",
              "5      0\n",
              "6      0\n",
              "7      0\n",
              "8      0\n",
              "9      0\n",
              "10     0\n",
              "11     0\n",
              "12     0\n",
              "13     0\n",
              "14     0\n",
              "15     0\n",
              "16     0\n",
              "17     0\n",
              "18     0\n",
              "19     0\n",
              "20     0\n",
              "21     0\n",
              "22     0\n",
              "23     0\n",
              "24     0\n",
              "25     0\n",
              "26     0\n",
              "27     0\n",
              "28     0\n",
              "29     0\n",
              "30     0\n",
              "31     0\n",
              "32     0\n",
              "33     0\n",
              "34     0\n",
              "35     0\n",
              "36     0\n",
              "37     0\n",
              "38     0\n",
              "39     0\n",
              "40     0\n",
              "41     0\n",
              "42     0\n",
              "43     0\n",
              "44     0\n",
              "45     0\n",
              "46     0\n",
              "47     0\n",
              "48     0\n",
              "49     0\n",
              "50     0\n",
              "51     0\n",
              "52     0\n",
              "53     0\n",
              "54     0\n",
              "55     0\n",
              "56     0\n",
              "57     0\n",
              "58     0\n",
              "59     0\n",
              "60     0\n",
              "61     0\n",
              "62     0\n",
              "63     0\n",
              "64     0\n",
              "65     0\n",
              "66     0\n",
              "67     0\n",
              "68     0\n",
              "69     0\n",
              "70     0\n",
              "71     0\n",
              "72     0\n",
              "73     0\n",
              "74     0\n",
              "75     0\n",
              "76     0\n",
              "77     0\n",
              "78     0\n",
              "79     0\n",
              "80     0\n",
              "81     0\n",
              "82     0\n",
              "83     0\n",
              "84     0\n",
              "85     0\n",
              "86     0\n",
              "87     0\n",
              "88     0\n",
              "89     0\n",
              "90     0\n",
              "91     0\n",
              "92     0\n",
              "93     0\n",
              "94     0\n",
              "95     0\n",
              "96     0\n",
              "97     0\n",
              "98     0\n",
              "99     0\n",
              "100    0\n",
              "101    0\n",
              "102    0\n",
              "103    0\n",
              "104    0\n",
              "105    0\n",
              "106    0\n",
              "107    0\n",
              "108    0\n",
              "109    0\n",
              "110    0\n",
              "111    0\n",
              "112    0\n",
              "113    0\n",
              "114    0\n",
              "115    0\n",
              "116    0\n",
              "117    0\n",
              "118    0\n",
              "119    0\n",
              "120    0\n",
              "121    0\n",
              "122    0\n",
              "123    0\n",
              "124    0\n",
              "125    0\n",
              "126    0\n",
              "127    0\n",
              "128    0\n",
              "129    0\n",
              "130    0\n",
              "131    0\n",
              "132    0\n",
              "133    0\n",
              "134    0\n",
              "135    0\n",
              "136    0\n",
              "137    0\n",
              "138    0\n",
              "139    0\n",
              "140    0\n",
              "141    0\n",
              "142    0\n",
              "143    0\n",
              "144    0\n",
              "145    0\n",
              "146    0\n",
              "147    0\n",
              "148    0\n",
              "149    0\n",
              "150    0\n",
              "151    0\n",
              "152    0\n",
              "153    0\n",
              "154    0\n",
              "155    0\n",
              "156    0\n",
              "157    0\n",
              "158    0\n",
              "159    0\n",
              "160    0\n",
              "161    0\n",
              "162    0\n",
              "163    0\n",
              "164    0\n",
              "165    0\n",
              "166    0\n",
              "167    0\n",
              "168    0\n",
              "169    0\n",
              "170    0\n",
              "171    0\n",
              "172    0\n",
              "173    0\n",
              "174    0\n",
              "175    0\n",
              "176    0\n",
              "177    0\n",
              "178    0\n",
              "179    0\n",
              "180    0\n",
              "181    0\n",
              "182    0\n",
              "183    0\n",
              "184    0\n",
              "185    0\n",
              "186    0\n",
              "187    0\n",
              "dtype: int64"
            ]
          },
          "metadata": {},
          "execution_count": 25
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# See the number of each class in train dataset\n",
        "labels = {\n",
        "    0: \"Normal\",\n",
        "    1: \"Artial Premature\",\n",
        "    2: \"Premature ventricular contraction\",\n",
        "    3: \"Fusion of ventricular and normal\",\n",
        "    4: \"Fusion of paced and normal\"\n",
        "}\n",
        "\n",
        "# Calculate value counts and rename index using the labels dictionary\n",
        "value_counts = mit_train.iloc[:,-1].value_counts().rename(labels)\n",
        "\n",
        "# Create the bar plot to see the count of labels\n",
        "bar_fig = px.bar(x=value_counts.index, y=value_counts.values,\n",
        "                labels = {'x':'Labels', 'y':'Counts'},\n",
        "                 text_auto=True,\n",
        "                 title=\"The Count of Each Label in The Train Dataset\"\n",
        "                )\n",
        "\n",
        "pie_fig = px.pie(names=value_counts.index, values=value_counts.values,\n",
        "                 title=\"The Percentage of Each Label in The Train Dataset\")\n",
        "\n",
        "bar_fig.update_layout(title_x=0.5, width=800, height=600)\n",
        "pie_fig.update_layout(title_x=0.5, width=800, height=600)\n",
        "bar_fig.show()\n",
        "pie_fig.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "d9pwxIMlbtO5",
        "outputId": "f2d90f01-ef5f-49a3-db6a-736c7bcab492"
      },
      "execution_count": 26,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<html>\n",
              "<head><meta charset=\"utf-8\" /></head>\n",
              "<body>\n",
              "    <div>            <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script>                <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
              "        <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script>                <div id=\"d562fbd7-00cb-4e95-8111-d880b36f44ff\" class=\"plotly-graph-div\" style=\"height:600px; width:800px;\"></div>            <script type=\"text/javascript\">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"d562fbd7-00cb-4e95-8111-d880b36f44ff\")) {                    Plotly.newPlot(                        \"d562fbd7-00cb-4e95-8111-d880b36f44ff\",                        [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"Labels=%{x}\\u003cbr\\u003eCounts=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"\",\"offsetgroup\":\"\",\"orientation\":\"v\",\"showlegend\":false,\"textposition\":\"auto\",\"texttemplate\":\"%{y}\",\"x\":[\"Normal\",\"Fusion of paced and normal\",\"Premature ventricular contraction\",\"Artial Premature\",\"Fusion of ventricular and normal\"],\"xaxis\":\"x\",\"y\":[72471,6431,5788,2223,641],\"yaxis\":\"y\",\"type\":\"bar\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Labels\"}},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Counts\"}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"The Count of Each Label in The Train Dataset\",\"x\":0.5},\"barmode\":\"relative\",\"width\":800,\"height\":600},                        {\"responsive\": true}                    ).then(function(){\n",
              "                            \n",
              "var gd = document.getElementById('d562fbd7-00cb-4e95-8111-d880b36f44ff');\n",
              "var x = new MutationObserver(function (mutations, observer) {{\n",
              "        var display = window.getComputedStyle(gd).display;\n",
              "        if (!display || display === 'none') {{\n",
              "            console.log([gd, 'removed!']);\n",
              "            Plotly.purge(gd);\n",
              "            observer.disconnect();\n",
              "        }}\n",
              "}});\n",
              "\n",
              "// Listen for the removal of the full notebook cells\n",
              "var notebookContainer = gd.closest('#notebook-container');\n",
              "if (notebookContainer) {{\n",
              "    x.observe(notebookContainer, {childList: true});\n",
              "}}\n",
              "\n",
              "// Listen for the clearing of the current output cell\n",
              "var outputEl = gd.closest('.output');\n",
              "if (outputEl) {{\n",
              "    x.observe(outputEl, {childList: true});\n",
              "}}\n",
              "\n",
              "                        })                };                            </script>        </div>\n",
              "</body>\n",
              "</html>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<html>\n",
              "<head><meta charset=\"utf-8\" /></head>\n",
              "<body>\n",
              "    <div>            <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script>                <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
              "        <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script>                <div id=\"98e35c4a-0e3f-4891-989e-d94db8c8c3ac\" class=\"plotly-graph-div\" style=\"height:600px; width:800px;\"></div>            <script type=\"text/javascript\">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"98e35c4a-0e3f-4891-989e-d94db8c8c3ac\")) {                    Plotly.newPlot(                        \"98e35c4a-0e3f-4891-989e-d94db8c8c3ac\",                        [{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"hovertemplate\":\"label=%{label}\\u003cbr\\u003evalue=%{value}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"labels\":[\"Normal\",\"Fusion of paced and normal\",\"Premature ventricular contraction\",\"Artial Premature\",\"Fusion of ventricular and normal\"],\"legendgroup\":\"\",\"name\":\"\",\"showlegend\":true,\"values\":[72471,6431,5788,2223,641],\"type\":\"pie\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"The Percentage of Each Label in The Train Dataset\",\"x\":0.5},\"width\":800,\"height\":600},                        {\"responsive\": true}                    ).then(function(){\n",
              "                            \n",
              "var gd = document.getElementById('98e35c4a-0e3f-4891-989e-d94db8c8c3ac');\n",
              "var x = new MutationObserver(function (mutations, observer) {{\n",
              "        var display = window.getComputedStyle(gd).display;\n",
              "        if (!display || display === 'none') {{\n",
              "            console.log([gd, 'removed!']);\n",
              "            Plotly.purge(gd);\n",
              "            observer.disconnect();\n",
              "        }}\n",
              "}});\n",
              "\n",
              "// Listen for the removal of the full notebook cells\n",
              "var notebookContainer = gd.closest('#notebook-container');\n",
              "if (notebookContainer) {{\n",
              "    x.observe(notebookContainer, {childList: true});\n",
              "}}\n",
              "\n",
              "// Listen for the clearing of the current output cell\n",
              "var outputEl = gd.closest('.output');\n",
              "if (outputEl) {{\n",
              "    x.observe(outputEl, {childList: true});\n",
              "}}\n",
              "\n",
              "                        })                };                            </script>        </div>\n",
              "</body>\n",
              "</html>"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# See the number of each class in test dataset\n",
        "\n",
        "# Calculate value counts and rename index using the labels dictionary\n",
        "value_counts = mit_test.iloc[:,-1].value_counts().rename(labels)\n",
        "\n",
        "# Create the bar plot to see the count of labels\n",
        "bar_fig = px.bar(x=value_counts.index, y=value_counts.values,\n",
        "                labels = {'x':'Labels', 'y':'Counts'},\n",
        "                 text_auto=True,\n",
        "                 title=\"The Count of Each Label in The Test Dataset\"\n",
        "                )\n",
        "\n",
        "pie_fig = px.pie(names=value_counts.index, values=value_counts.values,\n",
        "                 title=\"The Percentage of Each Label in The Test Dataset\")\n",
        "\n",
        "bar_fig.update_layout(title_x=0.5, width=800, height=600)\n",
        "pie_fig.update_layout(title_x=0.5, width=800, height=600)\n",
        "bar_fig.show()\n",
        "pie_fig.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "LUpxjxUbbzji",
        "outputId": "c76f72e1-a85d-4790-e963-794460194e36"
      },
      "execution_count": 27,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<html>\n",
              "<head><meta charset=\"utf-8\" /></head>\n",
              "<body>\n",
              "    <div>            <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script>                <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
              "        <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script>                <div id=\"d83e5d9a-182d-4201-912d-0771f1ebc621\" class=\"plotly-graph-div\" style=\"height:600px; width:800px;\"></div>            <script type=\"text/javascript\">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"d83e5d9a-182d-4201-912d-0771f1ebc621\")) {                    Plotly.newPlot(                        \"d83e5d9a-182d-4201-912d-0771f1ebc621\",                        [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"Labels=%{x}\\u003cbr\\u003eCounts=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"\",\"offsetgroup\":\"\",\"orientation\":\"v\",\"showlegend\":false,\"textposition\":\"auto\",\"texttemplate\":\"%{y}\",\"x\":[\"Normal\",\"Fusion of paced and normal\",\"Premature ventricular contraction\",\"Artial Premature\",\"Fusion of ventricular and normal\"],\"xaxis\":\"x\",\"y\":[18118,1608,1448,556,162],\"yaxis\":\"y\",\"type\":\"bar\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Labels\"}},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Counts\"}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"The Count of Each Label in The Test Dataset\",\"x\":0.5},\"barmode\":\"relative\",\"width\":800,\"height\":600},                        {\"responsive\": true}                    ).then(function(){\n",
              "                            \n",
              "var gd = document.getElementById('d83e5d9a-182d-4201-912d-0771f1ebc621');\n",
              "var x = new MutationObserver(function (mutations, observer) {{\n",
              "        var display = window.getComputedStyle(gd).display;\n",
              "        if (!display || display === 'none') {{\n",
              "            console.log([gd, 'removed!']);\n",
              "            Plotly.purge(gd);\n",
              "            observer.disconnect();\n",
              "        }}\n",
              "}});\n",
              "\n",
              "// Listen for the removal of the full notebook cells\n",
              "var notebookContainer = gd.closest('#notebook-container');\n",
              "if (notebookContainer) {{\n",
              "    x.observe(notebookContainer, {childList: true});\n",
              "}}\n",
              "\n",
              "// Listen for the clearing of the current output cell\n",
              "var outputEl = gd.closest('.output');\n",
              "if (outputEl) {{\n",
              "    x.observe(outputEl, {childList: true});\n",
              "}}\n",
              "\n",
              "                        })                };                            </script>        </div>\n",
              "</body>\n",
              "</html>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<html>\n",
              "<head><meta charset=\"utf-8\" /></head>\n",
              "<body>\n",
              "    <div>            <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script>                <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
              "        <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script>                <div id=\"4a31b8a8-fa58-49f0-b70f-3aaed270677f\" class=\"plotly-graph-div\" style=\"height:600px; width:800px;\"></div>            <script type=\"text/javascript\">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"4a31b8a8-fa58-49f0-b70f-3aaed270677f\")) {                    Plotly.newPlot(                        \"4a31b8a8-fa58-49f0-b70f-3aaed270677f\",                        [{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"hovertemplate\":\"label=%{label}\\u003cbr\\u003evalue=%{value}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"labels\":[\"Normal\",\"Fusion of paced and normal\",\"Premature ventricular contraction\",\"Artial Premature\",\"Fusion of ventricular and normal\"],\"legendgroup\":\"\",\"name\":\"\",\"showlegend\":true,\"values\":[18118,1608,1448,556,162],\"type\":\"pie\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"The Percentage of Each Label in The Test Dataset\",\"x\":0.5},\"width\":800,\"height\":600},                        {\"responsive\": true}                    ).then(function(){\n",
              "                            \n",
              "var gd = document.getElementById('4a31b8a8-fa58-49f0-b70f-3aaed270677f');\n",
              "var x = new MutationObserver(function (mutations, observer) {{\n",
              "        var display = window.getComputedStyle(gd).display;\n",
              "        if (!display || display === 'none') {{\n",
              "            console.log([gd, 'removed!']);\n",
              "            Plotly.purge(gd);\n",
              "            observer.disconnect();\n",
              "        }}\n",
              "}});\n",
              "\n",
              "// Listen for the removal of the full notebook cells\n",
              "var notebookContainer = gd.closest('#notebook-container');\n",
              "if (notebookContainer) {{\n",
              "    x.observe(notebookContainer, {childList: true});\n",
              "}}\n",
              "\n",
              "// Listen for the clearing of the current output cell\n",
              "var outputEl = gd.closest('.output');\n",
              "if (outputEl) {{\n",
              "    x.observe(outputEl, {childList: true});\n",
              "}}\n",
              "\n",
              "                        })                };                            </script>        </div>\n",
              "</body>\n",
              "</html>"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "mit_train.iloc[0, :187].plot(title='ECG of First Person')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 469
        },
        "id": "Cv9OMVfzcAsY",
        "outputId": "c493615f-8898-40df-9727-2e0953a4867f"
      },
      "execution_count": 28,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<Axes: title={'center': 'ECG of First Person'}>"
            ]
          },
          "metadata": {},
          "execution_count": 28
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGzCAYAAAD9pBdvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYD0lEQVR4nO3deXhTVf4/8HeSNuneUrpDoeyLQMECtQKKY2VRGXdxBRFxA78q46i4gDvu+psZFDfUGRdwBccF2XGQCtICsq8FKnShLd1p0ibn90dyb5I2XZLcNG3v+/U8fUbSm/RkQsK7n/M552iEEAJEREREfqL19wCIiIhI3RhGiIiIyK8YRoiIiMivGEaIiIjIrxhGiIiIyK8YRoiIiMivGEaIiIjIrxhGiIiIyK8YRoiIiMivGEaIyKVDhw5hwoQJiIyMhEajwfLlyz1+rJSUFNx2222KjY2IOheGESIFffTRR9BoNE1+/fbbb07X19bW4o033kB6ejoiIyMRFBSE/v37Y86cOTh48GCjx//jjz8wY8YM9OrVC0FBQQgLC8Pw4cPx8MMP4+jRo4o+l+nTp2PXrl14/vnn8Z///AcjR450ed2xY8eafL7nnXeeomOSfPbZZ3jzzTdbfX1KSorTuOLi4jBu3Dh8++23PhkfEblHw7NpiJTz0UcfYcaMGXjmmWfQq1evRt+fNGkSYmJiAADFxcWYNGkSsrOzcfnllyMzMxNhYWE4cOAAli5dioKCAphMJvm+7733Hu655x7ExMTg5ptvxsCBA1FfX4/du3fj66+/RmlpKc6ePQudTuf18zh79ixCQkLw+OOP47nnnmv22mPHjqFXr1648cYbcemllzp9LzY2FhMnToTRaIRWq0VgYKDXYwOAyy+/HLt378axY8dadX1KSgq6dOmCv/3tbwCAU6dO4Z133sHRo0fx9ttv4+6771ZkXETkmQB/D4CoM5o8eXKTlQTJbbfdhu3bt+Orr77CNddc4/S9Z599Fo8//rj8582bN+Oee+7BmDFj8P333yM8PNzp+tdeew3PP/+8YuM/ffo0ACAqKqrV9zn33HNxyy23uPyewWBo8f7V1dUIDQ1t9c9zV7du3ZzGN23aNPTt2xdvvPGG12GktrYWer0eWi2LzUSe4DuHyA+2bNmCH374ATNnzmwURADrP96vvvqq/Oenn34aGo0Gn376aaMgAgBBQUF49tlnW1UV2b59OyZPnoyIiAiEhYXh4osvdpo+euqpp9CzZ08AwN///ndoNBqkpKR48CztGvaMSNNZGzduxL333ou4uDh0794dAFBZWYkHHngAKSkpMBgMiIuLwyWXXIKcnBwAwPjx4/HDDz/g+PHj8rSLJ+NLSEjAoEGDkJubK9928uRJ3H777YiPj4fBYMA555yDJUuWON1vw4YN0Gg0WLp0KZ544gl069YNISEhqKioQF1dHZ5++mn069cPQUFB6Nq1K8aOHYvVq1c7Pca6deswbtw4hIaGIioqCldccQX27dvndM1TTz0FjUaDw4cP47bbbkNUVBQiIyMxY8YM1NTUuP18idozVkaIfKC8vBzFxcVOt2k0GnTt2hUA8N133wEAbr311hYfq6amBuvWrcP48ePlf7A9tWfPHowbNw4RERF4+OGHERgYiHfeeQfjx4/Hxo0bkZ6ejquvvhpRUVF48MEH5amXsLCwVo2z4XOOjIxsdmrm3nvvRWxsLObPn4/q6moAwN13342vvvoKc+bMweDBg1FSUoJNmzZh3759OPfcc/H444+jvLwcf/75J9544w0AaNX4Gqqrq0NeXp78mhQWFuK8886DRqPBnDlzEBsbi59++gkzZ85ERUUFHnjgAaf7P/vss9Dr9XjooYdgNBqh1+vx1FNPYeHChbjjjjswevRoVFRUYNu2bcjJycEll1wCAFizZg0mT56M3r1746mnnsLZs2fxz3/+E2PGjEFOTk6jYHX99dejV69eWLhwIXJycvD+++8jLi4OL730ktvPmajdEkSkmA8//FAAcPllMBjk66666ioBQJw5c6bFx9y5c6cAIB544IFG3yspKRGnT5+Wv4xGY7OPdeWVVwq9Xi+OHDki33bq1CkRHh4uLrjgAvm23NxcAUC88sorLY5PutbV1/r164UQQvTs2VNMnz5dvo/0/9PYsWNFfX290+NFRkaK2bNnN/szL7vsMtGzZ88Wxybp2bOnmDBhgvz/086dO8UNN9wgAIj77rtPCCHEzJkzRWJioiguLna67w033CAiIyNFTU2NEEKI9evXCwCid+/e8m2S1NRUcdlllzU7luHDh4u4uDhRUlIi37Zz506h1WrFtGnT5NsWLFggAIjbb7/d6f5XXXWV6Nq1a6ufO1FHwMoIkQ8sWrQI/fv3d7rNcQqloqICAFxOuTQkXevqt//evXujvLxc/vOXX36Ja6+91uXjmM1mrFq1CldeeSV69+4t356YmIibbroJ7733HioqKhAREdHimFy58847cd111zndlpqa2ux9Zs2a1WhqKSoqClu2bMGpU6eQlJTk0VhcWbVqFWJjY+U/63Q63HrrrXjppZcghMDXX3+N66+/HkIIpwrPxIkTsXTpUuTk5GDMmDHy7dOnT0dwcHCjse/ZsweHDh1Cv379Go0hPz8fO3bswMMPP4zo6Gj59mHDhuGSSy7Bjz/+2Og+DftZpFVA3rxWRO0NwwiRD4wePbrZBlbpH5HKysoWm0SlwFJVVdXoeytWrEBdXR127tyJhx56qNnHOX36NGpqajBgwIBG3xs0aBAsFgvy8vJwzjnnNPs4TenXrx8yMzPduo+rFUcvv/wypk+fjuTkZKSlpeHSSy/FtGnTnAKUJ9LT0/Hcc89Bo9EgJCQEgwYNkv+/LyoqQllZGd599128++67Lu9fVFTU4tifeeYZXHHFFejfvz+GDBmCSZMm4dZbb8WwYcMAAMePHweAJl+Dn3/+uVEjb48ePZyu69KlCwDgzJkzDCPUaTCMEPnBwIEDAQC7du3CuHHjmr22b9++CAgIwO7duxt978ILLwQABAR0zLdyw8oCYO2RkH77X7VqFV555RW89NJL+OabbzB58mSPf1ZMTEyTYclisQAAbrnlFkyfPt3lNVKgaG7sF1xwAY4cOYIVK1Zg1apVeP/99/HGG29g8eLFuOOOOzwad1NNyYK7MlAnwtU0RH4wZcoUAMAnn3zS4rWhoaFyg+nJkyc9/pmxsbEICQnBgQMHGn1v//790Gq1SE5O9vjxlZSYmIh7770Xy5cvR25uLrp27eq0dFmj0Sj682JjYxEeHg6z2YzMzEyXX3Fxca16rOjoaMyYMQOff/458vLyMGzYMDz11FMAIK9Sauo1iImJ8enyZqL2imGEyA8yMjIwadIkvP/++y63WTeZTE7TLvPnz4fZbMYtt9zicrqmNb8l63Q6TJgwAStWrHDaLKywsBCfffYZxo4d6/eyv9lsduqBAYC4uDgkJSXBaDTKt4WGhja6zhs6nQ7XXHMNvv76a5cVKGnflZaUlJQ4/TksLAx9+/aVx56YmIjhw4fj448/RllZmXzd7t27sWrVqkabxhGpRces7RK1cz/99BP279/f6Pbzzz9f7n3497//jQkTJuDqq6/GlClTcPHFFyM0NBSHDh3C0qVLkZ+fL+81Mm7cOPzrX//Cfffdh379+sk7sJpMJhw8eBCffvop9Ho9EhISmh3Xc889h9WrV2Ps2LG49957ERAQgHfeeQdGoxEvv/yy8v9HuKmyshLdu3fHtddei9TUVISFhWHNmjX4/fff8dprr8nXpaWlYdmyZZg7dy5GjRqFsLAwudrkqRdffBHr169Heno6Zs2ahcGDB6O0tBQ5OTlYs2YNSktLW3yMwYMHY/z48UhLS0N0dDS2bdsmL1OWvPLKK5g8eTIyMjIwc+ZMeWlvZGSkXEEhUh3/LuYh6lyaW9oLQHz44YdO19fU1IhXX31VjBo1SoSFhQm9Xi/69esn7rvvPnH48OFGj799+3Yxbdo00aNHD6HX60VoaKgYNmyY+Nvf/ubyeldycnLExIkTRVhYmAgJCREXXXSR2Lx5s9M1niztbe7appb2/v77707XGY1G8fe//12kpqaK8PBwERoaKlJTU8Vbb73ldF1VVZW46aabRFRUlADQ4jLfnj17trjkVgghCgsLxezZs0VycrIIDAwUCQkJ4uKLLxbvvvuufI20tPfLL79sdP/nnntOjB49WkRFRYng4GAxcOBA8fzzzwuTyeR03Zo1a8SYMWNEcHCwiIiIEFOmTBF79+51ukZa2nv69Gmn26X/73Jzc1t8PkQdBc+mISIiIr9izwgRERH5FcMIERER+RXDCBEREfkVwwgRERH5FcMIERER+RXDCBEREflVh9j0zGKx4NSpUwgPD1d8G2giIiLyDSEEKisrkZSUBK226fpHhwgjp06dajdnZhAREZF78vLy0L179ya/3yHCiHSEel5ent/PziAiIqLWqaioQHJysvzveFM6RBiRpmYiIiIYRoiIiDqYllos2MBKREREfsUwQkRERH7FMEJERER+xTBCREREfsUwQkRERH7FMEJERER+xTBCREREfsUwQkRERH7FMEJERER+xTBCREREfuV2GPnll18wZcoUJCUlQaPRYPny5S3eZ8OGDTj33HNhMBjQt29ffPTRRx4MlYiIiDojt8NIdXU1UlNTsWjRolZdn5ubi8suuwwXXXQRduzYgQceeAB33HEHfv75Z7cHS0RERJ2P2wflTZ48GZMnT2719YsXL0avXr3w2muvAQAG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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# generate a random integer\n",
        "n = random_index = np.random.randint(100)\n",
        "\n",
        "ecg_0 = mit_train.loc[mit_train[187]==0, :].iloc[n,:187]\n",
        "ecg_1 = mit_train.loc[mit_train[187]==1, :].iloc[n,:187]\n",
        "ecg_2 = mit_train.loc[mit_train[187]==2, :].iloc[n,:187]\n",
        "ecg_3 = mit_train.loc[mit_train[187]==3, :].iloc[n,:187]\n",
        "ecg_4 = mit_train.loc[mit_train[187]==4, :].iloc[n,:187]\n",
        "\n",
        "ecg_df = pd.DataFrame({'Normal': ecg_0,\n",
        "                       'Artial Premature': ecg_1,\n",
        "                       'Premature ventricular contraction': ecg_2,\n",
        "                       'Fusion of ventricular and normal': ecg_3,\n",
        "                       'Fusion of paced and normal': ecg_4})"
      ],
      "metadata": {
        "id": "ARARDlfzcFSx"
      },
      "execution_count": 29,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "ecg_plot = px.line(ecg_df,\n",
        "                  labels={'index':'Time Intervals', 'value':'Amplitude (mV)', 'variable':'Categories'},\n",
        "                  title=\"One ECG form Each Category\")\n",
        "ecg_plot.update_layout(title_x=0.25, width=1000, height=500)\n",
        "ecg_plot.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 517
        },
        "id": "pXQIZaMpcHeZ",
        "outputId": "52d4f9fa-8976-40e7-abe5-4303a9ac3507"
      },
      "execution_count": 30,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<html>\n",
              "<head><meta charset=\"utf-8\" /></head>\n",
              "<body>\n",
              "    <div>            <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script>                <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
              "        <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script>                <div id=\"53087571-5a45-4ab1-9eaf-b68503438ac5\" class=\"plotly-graph-div\" style=\"height:500px; width:1000px;\"></div>            <script type=\"text/javascript\">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"53087571-5a45-4ab1-9eaf-b68503438ac5\")) {                    Plotly.newPlot(                        \"53087571-5a45-4ab1-9eaf-b68503438ac5\",                        [{\"hovertemplate\":\"Categories=Normal\\u003cbr\\u003eTime Intervals=%{x}\\u003cbr\\u003eAmplitude (mV)=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"Normal\",\"line\":{\"color\":\"#636efa\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Normal\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186],\"xaxis\":\"x\",\"y\":[1.0,0.4776119291782379,0.0,0.12313432991504668,0.16417910158634183,0.08955223858356477,0.07089552283287048,0.08208955079317092,0.0746268630027771,0.06343283504247665,0.07089552283287048,0.08955223858356477,0.08582089841365814,0.0746268630027771,0.08582089841365814,0.09701492637395857,0.08955223858356477,0.08582089841365814,0.1044776141643524,0.11194030195474625,0.1007462665438652,0.1007462665438652,0.11940298229455948,0.11567164212465286,0.11194030195474625,0.1007462665438652,0.11940298229455948,0.1268656700849533,0.1007462665438652,0.1044776141643524,0.13059701025485992,0.14552238583564758,0.15671642124652863,0.16417910158634183,0.19776119291782376,0.21641790866851807,0.19776119291782376,0.1753731369972229,0.18283581733703613,0.16791044175624847,0.1492537260055542,0.13059701025485992,0.11940298229455948,0.12313432991504668,0.12313432991504668,0.1007462665438652,0.10820895433425903,0.11567164212465286,0.10820895433425903,0.1044776141643524,0.09701492637395857,0.1044776141643524,0.1007462665438652,0.08955223858356477,0.09701492637395857,0.09701492637395857,0.08955223858356477,0.08955223858356477,0.08208955079317092,0.09701492637395857,0.11567164212465286,0.11940298229455948,0.14552238583564758,0.14552238583564758,0.16791044175624847,0.152985081076622,0.12313432991504668,0.1268656700849533,0.11194030195474625,0.08955223858356477,0.06716418266296387,0.07089552283287048,0.05597015097737312,0.05597015097737312,0.0746268630027771,0.08208955079317092,0.07089552283287048,0.011194029822945595,0.14179104566574097,0.5261194109916687,0.9701492786407471,0.7835820913314819,0.18656715750694275,0.1007462665438652,0.19029851257801053,0.15671642124652863,0.10820895433425903,0.1044776141643524,0.11194030195474625,0.08955223858356477,0.1044776141643524,0.11194030195474625,0.11194030195474625,0.09328357875347136,0.11194030195474625,0.11940298229455948,0.11567164212465286,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"Categories=Artial Premature\\u003cbr\\u003eTime Intervals=%{x}\\u003cbr\\u003eAmplitude (mV)=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"Artial Premature\",\"line\":{\"color\":\"#EF553B\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Artial Premature\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186],\"xaxis\":\"x\",\"y\":[0.8132911324501036,0.7341772317886353,0.050632912665605545,0.02215189859271049,0.0569620244204998,0.07278481125831603,0.06329113990068436,0.08227848261594771,0.07278481125831603,0.06962025165557861,0.0569620244204998,0.06012658402323722,0.06645569950342177,0.08544303476810454,0.06962025165557861,0.09493670612573624,0.07594936341047288,0.07911392301321028,0.06012658402323722,0.06645569950342177,0.07278481125831603,0.08544303476810454,0.06962025165557861,0.07911392301321028,0.06645569950342177,0.07278481125831603,0.06962025165557861,0.07911392301321028,0.06962025165557861,0.06962025165557861,0.04430379718542098,0.06329113990068436,0.050632912665605545,0.05379746854305267,0.0569620244204998,0.07594936341047288,0.06962025165557861,0.08860759437084198,0.08544303476810454,0.10443037748336792,0.10443037748336792,0.11708860844373704,0.11075949668884276,0.12341772019863129,0.10443037748336792,0.12025316804647444,0.1139240488409996,0.11708860844373704,0.09810126572847366,0.11075949668884276,0.09177215397357939,0.11075949668884276,0.10126582533121108,0.1139240488409996,0.10443037748336792,0.11708860844373704,0.11708860844373704,0.11708860844373704,0.09810126572847366,0.1139240488409996,0.10443037748336792,0.12025316804647444,0.1139240488409996,0.1265822798013687,0.1139240488409996,0.12025316804647444,0.1139240488409996,0.1139240488409996,0.10443037748336792,0.11708860844373704,0.10126582533121108,0.11708860844373704,0.11708860844373704,0.1265822798013687,0.11708860844373704,0.1265822798013687,0.1139240488409996,0.1265822798013687,0.10759493708610535,0.12025316804647444,0.11075949668884276,0.12341772019863129,0.12341772019863129,0.1360759437084198,0.12025316804647444,0.12974683940410614,0.12974683940410614,0.13291139900684357,0.12025316804647444,0.1360759437084198,0.12974683940410614,0.13924050331115723,0.1265822798013687,0.14240506291389465,0.13924050331115723,0.14240506291389465,0.1518987268209457,0.17405062913894653,0.17721518874168396,0.19620253145694727,0.19936709105968475,0.21202531456947327,0.18987341225147247,0.19936709105968475,0.17405062913894653,0.2151898741722107,0.1708860695362091,0.16139240562915802,0.12974683940410614,0.1360759437084198,0.12974683940410614,0.14556962251663208,0.1265822798013687,0.13291139900684357,0.12025316804647444,0.12025316804647444,0.10759493708610535,0.1139240488409996,0.08544303476810454,0.041139241307973855,0.0,0.20886075496673584,0.5727847814559937,1.0,0.7436708807945251,0.08227848261594771,0.07594936341047288,0.10759493708610535,0.09177215397357939,0.10759493708610535,0.09177215397357939,0.10443037748336792,0.08860759437084198,0.08860759437084198,0.08227848261594771,0.09810126572847366,0.07911392301321028,0.09810126572847366,0.08227848261594771,0.08860759437084198,0.08227848261594771,0.09810126572847366,0.08227848261594771,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"Categories=Premature ventricular contraction\\u003cbr\\u003eTime Intervals=%{x}\\u003cbr\\u003eAmplitude (mV)=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"Premature ventricular contraction\",\"line\":{\"color\":\"#00cc96\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Premature ventricular contraction\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186],\"xaxis\":\"x\",\"y\":[0.0072639225982129565,0.055690072476863854,0.0,0.09443099051713943,0.1307506114244461,0.19370460510253903,0.24213075637817383,0.2929781973361969,0.3075060546398163,0.3123486638069153,0.30024212598800654,0.309927374124527,0.33171913027763367,0.3607748150825501,0.37530267238616943,0.4140435755252838,0.44067797064781195,0.49636805057525635,0.5351089835166931,0.5835351347923279,0.6222760081291199,0.6900726556777954,0.7384988069534301,0.8184019327163696,0.8498789072036742,0.8595641851425171,0.8450363278388977,0.8159806132316588,0.7481840252876282,0.7046005129814148,0.6150121092796326,0.5399515628814697,0.48426151275634766,0.44067797064781195,0.4019370377063751,0.3898304998874664,0.3680387437343597,0.3704600632190704,0.34624698758125305,0.34624698758125305,0.32203391194343567,0.3341404497623444,0.30024212598800654,0.3123486638069153,0.309927374124527,0.3341404497623444,0.32203391194343567,0.35351088643074036,0.34382566809654236,0.35835352540016174,0.33656173944473267,0.34382566809654236,0.3268765211105346,0.3486682772636413,0.3341404497623444,0.33171913027763367,0.32203391194343567,0.324455201625824,0.3075060546398163,0.3171912729740143,0.3050847351551056,0.3050847351551056,0.29055690765380854,0.309927374124527,0.2808716595172882,0.2881355881690979,0.2808716595172882,0.29055690765380854,0.2808716595172882,0.3026634454727173,0.2978208363056183,0.319612592458725,0.319612592458725,0.314769983291626,0.3268765211105346,0.329297810792923,0.3123486638069153,0.319612592458725,0.309927374124527,0.3171912729740143,0.3050847351551056,0.3075060546398163,0.2953995168209076,0.309927374124527,0.2881355881690979,0.2978208363056183,0.30024212598800654,0.2953995168209076,0.2832929790019989,0.2929781973361969,0.309927374124527,0.329297810792923,0.319612592458725,0.35108959674835205,0.3389830589294433,0.34624698758125305,0.34382566809654236,0.35835352540016174,0.3389830589294433,0.34624698758125305,0.33656173944473267,0.3486682772636413,0.3268765211105346,0.3486682772636413,0.329297810792923,0.33656173944473267,0.29055690765380854,0.324455201625824,0.3995157480239868,0.4987893402576447,0.5835351347923279,0.7457627058029175,0.8934624791145325,0.9878934621810912,1.0,0.8087167143821715,0.5859563946723938,0.3341404497623444,0.23728813230991364,0.22033898532390597,0.19370460510253903,0.18886198103427887,0.16949152946472168,0.162227600812912,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"Categories=Fusion of ventricular and normal\\u003cbr\\u003eTime Intervals=%{x}\\u003cbr\\u003eAmplitude (mV)=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"Fusion of ventricular and normal\",\"line\":{\"color\":\"#ab63fa\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Fusion of ventricular and normal\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186],\"xaxis\":\"x\",\"y\":[0.7838827967643738,1.0,0.6483516693115233,0.31501832604408264,0.19597069919109344,0.19597069919109344,0.17399267852306363,0.16117216646671295,0.1593406647443771,0.1556776612997055,0.1556776612997055,0.15750916302204132,0.1556776612997055,0.1538461595773697,0.15201465785503387,0.1593406647443771,0.16117216646671295,0.16300366818904877,0.16483516991138458,0.1684981733560562,0.17032967507839203,0.1794871836900711,0.18498168885707852,0.1923076957464218,0.20695970952510837,0.21794871985912323,0.23260073363780973,0.2509157657623291,0.261904776096344,0.2637362778186798,0.2490842491388321,0.24358974397182465,0.2271062284708023,0.20512820780277247,0.1941391974687576,0.18498168885707852,0.1794871836900711,0.17216117680072784,0.17582418024539948,0.17399267852306363,0.17399267852306363,0.17032967507839203,0.17582418024539948,0.17399267852306363,0.17582418024539948,0.17582418024539948,0.1794871836900711,0.19597069919109344,0.21978022158145905,0.2637362778186798,0.3369963467121124,0.42124542593955994,0.5311355590820312,0.622710645198822,0.6886447072029114,0.7600732445716859,0.7106227278709412,0.6611721515655518,0.6501831412315369,0.6318681240081787,0.6465201377868652,0.6336996555328369,0.4725274741649628,0.24725274741649628,0.12454212456941605,0.08608058840036392,0.06776557117700577,0.05494505539536476,0.04395604506134986,0.03479853644967079,0.025641025975346565,0.014652014710009098,0.018315019086003304,0.009157509543001652,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],\"yaxis\":\"y\",\"type\":\"scatter\"},{\"hovertemplate\":\"Categories=Fusion of paced and normal\\u003cbr\\u003eTime Intervals=%{x}\\u003cbr\\u003eAmplitude (mV)=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"Fusion of paced and normal\",\"line\":{\"color\":\"#FFA15A\",\"dash\":\"solid\"},\"marker\":{\"symbol\":\"circle\"},\"mode\":\"lines\",\"name\":\"Fusion of paced and normal\",\"orientation\":\"v\",\"showlegend\":true,\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186],\"xaxis\":\"x\",\"y\":[1.0,0.5167286396026611,0.5464683771133423,0.5315985083580017,0.5576208233833313,0.5241635441780089,0.5315985083580017,0.45724907517433167,0.3457249104976654,0.19330854713916776,0.02973977662622929,0.03345724940299988,0.10780669003725052,0.07806691527366638,0.10408922284841536,0.1449814140796661,0.178438663482666,0.141263946890831,0.1524163633584976,0.14869888126850128,0.178438663482666,0.17472119629383087,0.18587361276149747,0.178438663482666,0.18959107995033264,0.19330854713916776,0.2230483293533325,0.20074349641799927,0.2044609636068344,0.19330854713916776,0.2044609636068344,0.17472119629383087,0.17100371420383453,0.16356877982616425,0.18959107995033264,0.18215613067150116,0.20074349641799927,0.20074349641799927,0.2379182130098343,0.24535316228866577,0.27137547731399536,0.27881041169166565,0.3085501790046692,0.3122676610946655,0.3197025954723358,0.30483272671699524,0.3197025954723358,0.30483272671699524,0.3011152446269989,0.27509292960166926,0.2899628281593323,0.27509292960166926,0.27137547731399536,0.26022306084632874,0.27137547731399536,0.2565055787563324,0.26022306084632874,0.24535316228866577,0.24535316228866577,0.2379182130098343,0.24535316228866577,0.24535316228866577,0.2490706294775009,0.24163569509983063,0.2490706294775009,0.23420074582099917,0.2379182130098343,0.230483278632164,0.24535316228866577,0.2230483293533325,0.24163569509983063,0.2379182130098343,0.230483278632164,0.2044609636068344,0.2044609636068344,0.20817844569683075,0.21561338007450104,0.21561338007450104,0.2267657965421677,0.21561338007450104,0.21561338007450104,0.2044609636068344,0.21561338007450104,0.20074349641799927,0.20074349641799927,0.18959107995033264,0.2044609636068344,0.2118959128856659,0.230483278632164,0.2118959128856659,0.2267657965421677,0.21561338007450104,0.2230483293533325,0.2118959128856659,0.2230483293533325,0.20817844569683075,0.21933086216449735,0.21933086216449735,0.25278809666633606,0.230483278632164,0.26022306084632874,0.34200742840766907,0.8996282815933228,0.7769516706466675,0.5390334725379944,0.5464683771133423,0.5687732100486755,0.565055787563324,0.5427509546279907,0.5390334725379944,0.4981412589550018,0.3866170942783356,0.2639405131340027,0.09665427356958387,0.0,0.05576208233833313,0.0706319734454155,0.08178438991308211,0.11895910650491714,0.1598512977361679,0.19702602922916407,0.18587361276149747,0.17100371420383453,0.178438663482666,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],\"yaxis\":\"y\",\"type\":\"scatter\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Time Intervals\"}},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Amplitude (mV)\"}},\"legend\":{\"title\":{\"text\":\"Categories\"},\"tracegroupgap\":0},\"title\":{\"text\":\"One ECG form Each Category\",\"x\":0.25},\"width\":1000,\"height\":500},                        {\"responsive\": true}                    ).then(function(){\n",
              "                            \n",
              "var gd = document.getElementById('53087571-5a45-4ab1-9eaf-b68503438ac5');\n",
              "var x = new MutationObserver(function (mutations, observer) {{\n",
              "        var display = window.getComputedStyle(gd).display;\n",
              "        if (!display || display === 'none') {{\n",
              "            console.log([gd, 'removed!']);\n",
              "            Plotly.purge(gd);\n",
              "            observer.disconnect();\n",
              "        }}\n",
              "}});\n",
              "\n",
              "// Listen for the removal of the full notebook cells\n",
              "var notebookContainer = gd.closest('#notebook-container');\n",
              "if (notebookContainer) {{\n",
              "    x.observe(notebookContainer, {childList: true});\n",
              "}}\n",
              "\n",
              "// Listen for the clearing of the current output cell\n",
              "var outputEl = gd.closest('.output');\n",
              "if (outputEl) {{\n",
              "    x.observe(outputEl, {childList: true});\n",
              "}}\n",
              "\n",
              "                        })                };                            </script>        </div>\n",
              "</body>\n",
              "</html>"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from imblearn.over_sampling import RandomOverSampler\n",
        "\n",
        "data = mit_train.iloc[:, :187]\n",
        "labels = mit_train.iloc[:, 187]\n",
        "\n",
        "# Initialize RandomOverSampler\n",
        "ros = RandomOverSampler(random_state=42)\n",
        "\n",
        "# Resample the data\n",
        "data_resampled, labels_resampled = ros.fit_resample(data, labels)\n",
        "\n",
        "train_df = pd.concat([data_resampled, labels_resampled], axis=1)\n",
        "\n",
        "train_df.shape"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "5lkTuvdQcaSo",
        "outputId": "db1f7152-8301-446b-cc21-44fea9a8e7b3"
      },
      "execution_count": 31,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(362355, 188)"
            ]
          },
          "metadata": {},
          "execution_count": 31
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "labels = {\n",
        "    0: \"Normal\",\n",
        "    1: \"Artial Premature\",\n",
        "    2: \"Premature ventricular contraction\",\n",
        "    3: \"Fusion of ventricular and normal\",\n",
        "    4: \"Fusion of paced and normal\"\n",
        "}\n",
        "\n",
        "# Calculate value counts and rename index using the labels dictionary\n",
        "value_counts = train_df.iloc[:,-1].value_counts().rename(labels)\n",
        "\n",
        "# Create the bar plot to see the count of labels\n",
        "bar_fig = px.bar(x=value_counts.index, y=value_counts.values,\n",
        "                labels = {'x':'Labels', 'y':'Counts'},\n",
        "                 text_auto=True,\n",
        "                 title=\"The Count of Each Label After Balancing\"\n",
        "                )\n",
        "\n",
        "pie_fig = px.pie(names=value_counts.index, values=value_counts.values,\n",
        "                 title=\"The Percentage of Each Label After Balancing\")\n",
        "\n",
        "bar_fig.update_layout(title_x=0.5, width=800, height=600)\n",
        "pie_fig.update_layout(title_x=0.5, width=800, height=600)\n",
        "bar_fig.show()\n",
        "pie_fig.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "9OL7g85dceEA",
        "outputId": "31016be9-f78c-4ec4-8adb-6be456a2f808"
      },
      "execution_count": 32,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<html>\n",
              "<head><meta charset=\"utf-8\" /></head>\n",
              "<body>\n",
              "    <div>            <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script>                <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
              "        <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script>                <div id=\"10cf025a-f2c1-47fe-9473-1a05ce8f6866\" class=\"plotly-graph-div\" style=\"height:600px; width:800px;\"></div>            <script type=\"text/javascript\">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"10cf025a-f2c1-47fe-9473-1a05ce8f6866\")) {                    Plotly.newPlot(                        \"10cf025a-f2c1-47fe-9473-1a05ce8f6866\",                        [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"Labels=%{x}\\u003cbr\\u003eCounts=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"\",\"offsetgroup\":\"\",\"orientation\":\"v\",\"showlegend\":false,\"textposition\":\"auto\",\"texttemplate\":\"%{y}\",\"x\":[\"Normal\",\"Artial Premature\",\"Premature ventricular contraction\",\"Fusion of ventricular and normal\",\"Fusion of paced and normal\"],\"xaxis\":\"x\",\"y\":[72471,72471,72471,72471,72471],\"yaxis\":\"y\",\"type\":\"bar\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Labels\"}},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Counts\"}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"The Count of Each Label After Balancing\",\"x\":0.5},\"barmode\":\"relative\",\"width\":800,\"height\":600},                        {\"responsive\": true}                    ).then(function(){\n",
              "                            \n",
              "var gd = document.getElementById('10cf025a-f2c1-47fe-9473-1a05ce8f6866');\n",
              "var x = new MutationObserver(function (mutations, observer) {{\n",
              "        var display = window.getComputedStyle(gd).display;\n",
              "        if (!display || display === 'none') {{\n",
              "            console.log([gd, 'removed!']);\n",
              "            Plotly.purge(gd);\n",
              "            observer.disconnect();\n",
              "        }}\n",
              "}});\n",
              "\n",
              "// Listen for the removal of the full notebook cells\n",
              "var notebookContainer = gd.closest('#notebook-container');\n",
              "if (notebookContainer) {{\n",
              "    x.observe(notebookContainer, {childList: true});\n",
              "}}\n",
              "\n",
              "// Listen for the clearing of the current output cell\n",
              "var outputEl = gd.closest('.output');\n",
              "if (outputEl) {{\n",
              "    x.observe(outputEl, {childList: true});\n",
              "}}\n",
              "\n",
              "                        })                };                            </script>        </div>\n",
              "</body>\n",
              "</html>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<html>\n",
              "<head><meta charset=\"utf-8\" /></head>\n",
              "<body>\n",
              "    <div>            <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script>                <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
              "        <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script>                <div id=\"80508cb9-8679-40d6-bb7d-f57c346fe607\" class=\"plotly-graph-div\" style=\"height:600px; width:800px;\"></div>            <script type=\"text/javascript\">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"80508cb9-8679-40d6-bb7d-f57c346fe607\")) {                    Plotly.newPlot(                        \"80508cb9-8679-40d6-bb7d-f57c346fe607\",                        [{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"hovertemplate\":\"label=%{label}\\u003cbr\\u003evalue=%{value}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"labels\":[\"Normal\",\"Artial Premature\",\"Premature ventricular contraction\",\"Fusion of ventricular and normal\",\"Fusion of paced and normal\"],\"legendgroup\":\"\",\"name\":\"\",\"showlegend\":true,\"values\":[72471,72471,72471,72471,72471],\"type\":\"pie\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"The Percentage of Each Label After Balancing\",\"x\":0.5},\"width\":800,\"height\":600},                        {\"responsive\": true}                    ).then(function(){\n",
              "                            \n",
              "var gd = document.getElementById('80508cb9-8679-40d6-bb7d-f57c346fe607');\n",
              "var x = new MutationObserver(function (mutations, observer) {{\n",
              "        var display = window.getComputedStyle(gd).display;\n",
              "        if (!display || display === 'none') {{\n",
              "            console.log([gd, 'removed!']);\n",
              "            Plotly.purge(gd);\n",
              "            observer.disconnect();\n",
              "        }}\n",
              "}});\n",
              "\n",
              "// Listen for the removal of the full notebook cells\n",
              "var notebookContainer = gd.closest('#notebook-container');\n",
              "if (notebookContainer) {{\n",
              "    x.observe(notebookContainer, {childList: true});\n",
              "}}\n",
              "\n",
              "// Listen for the clearing of the current output cell\n",
              "var outputEl = gd.closest('.output');\n",
              "if (outputEl) {{\n",
              "    x.observe(outputEl, {childList: true});\n",
              "}}\n",
              "\n",
              "                        })                };                            </script>        </div>\n",
              "</body>\n",
              "</html>"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.model_selection import train_test_split\n",
        "\n",
        "x_train, x_val, y_train, y_val = train_test_split(train_df.iloc[:, :187],\n",
        "                                                train_df.iloc[:, 187],\n",
        "                                                test_size= 0.2,\n",
        "                                                stratify=train_df.iloc[:, 187],\n",
        "                                                random_state=42)\n",
        "\n",
        "x_test = mit_test.iloc[:, :187]\n",
        "y_test = mit_test.iloc[:, 187]"
      ],
      "metadata": {
        "id": "vIWcJqkfckVQ"
      },
      "execution_count": 33,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Select an array of data instead of dataframe\n",
        "x_train = x_train.values\n",
        "x_val = x_val.values\n",
        "x_test = x_test.values"
      ],
      "metadata": {
        "id": "ejqgyyhjcnIf"
      },
      "execution_count": 34,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "print('x_train shape: ', x_train.shape)\n",
        "print('y_train shape: ', y_train.shape)\n",
        "print('x_val shape: ', x_val.shape)\n",
        "print('y_val shape: ', y_val.shape)\n",
        "print('x_test shape: ', x_test.shape)\n",
        "print('y_test shape: ', y_test.shape)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "SADfRua9cpb_",
        "outputId": "89f22fc9-95cd-47fb-d0d8-ea95cea30682"
      },
      "execution_count": 35,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "x_train shape:  (289884, 187)\n",
            "y_train shape:  (289884,)\n",
            "x_val shape:  (72471, 187)\n",
            "y_val shape:  (72471,)\n",
            "x_test shape:  (21892, 187)\n",
            "y_test shape:  (21892,)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Reshape datasets to use them in CNN\n",
        "x_train = x_train.reshape(x_train.shape[0], -1, 1)\n",
        "x_val = x_val.reshape(x_val.shape[0], -1, 1)\n",
        "x_test = x_test.reshape(x_test.shape[0], -1, 1)"
      ],
      "metadata": {
        "id": "nD3Zd9DrcrHX"
      },
      "execution_count": 36,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "import tensorflow as tf\n",
        "\n",
        "# Converts a class vector (integers) to binary class matrix (one hot encoder).\n",
        "\n",
        "y_train = tf.keras.utils.to_categorical(y_train)\n",
        "\n",
        "y_val = tf.keras.utils.to_categorical(y_val)\n",
        "\n",
        "y_test = tf.keras.utils.to_categorical(y_test)"
      ],
      "metadata": {
        "id": "Jve03srRctS3"
      },
      "execution_count": 37,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# See some samples of data\n",
        "print(y_train[-1])\n",
        "print(y_val[-1])\n",
        "print(y_test[-1])"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "0TyNApyDcwqP",
        "outputId": "bcb78dcd-4401-417d-fef6-08a47ded5898"
      },
      "execution_count": 38,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[0. 0. 1. 0. 0.]\n",
            "[0. 0. 1. 0. 0.]\n",
            "[0. 0. 0. 0. 1.]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Check the dataset dimensions again\n",
        "print('x_train shape: ', x_train.shape)\n",
        "print('y_train shape: ', y_train.shape)\n",
        "print('x_val shape: ', x_val.shape)\n",
        "print('y_val shape: ', y_val.shape)\n",
        "print('x_test shape: ', x_test.shape)\n",
        "print('y_test shape: ', y_test.shape)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "i1CAoX-ac1FH",
        "outputId": "9be78d89-d129-4f01-a2c0-d533ac7083dd"
      },
      "execution_count": 39,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "x_train shape:  (289884, 187, 1)\n",
            "y_train shape:  (289884, 5)\n",
            "x_val shape:  (72471, 187, 1)\n",
            "y_val shape:  (72471, 5)\n",
            "x_test shape:  (21892, 187, 1)\n",
            "y_test shape:  (21892, 5)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from tensorflow.keras.models import Sequential\n",
        "from tensorflow.keras.layers import Conv1D, LSTM, MaxPool1D, Flatten, Dense, BatchNormalization, Input\n",
        "from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint, ReduceLROnPlateau"
      ],
      "metadata": {
        "id": "dgwpfVvOc20W"
      },
      "execution_count": 40,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "model_cnn_lstm = Sequential([\n",
        "    Input(shape=(x_train.shape[1:])),\n",
        "\n",
        "    Conv1D(64, kernel_size=6, activation='relu'),\n",
        "    BatchNormalization(),\n",
        "    MaxPool1D(pool_size=3, strides=2, padding=\"same\"),\n",
        "\n",
        "    Conv1D(64, kernel_size=3, activation='relu'),\n",
        "    BatchNormalization(),\n",
        "    MaxPool1D(pool_size=2, strides=2, padding=\"same\"),\n",
        "\n",
        "    Conv1D(64, kernel_size=3, activation='relu'),\n",
        "    BatchNormalization(),\n",
        "    MaxPool1D(pool_size=2, strides=2, padding=\"same\"),\n",
        "\n",
        "    LSTM(64, return_sequences=True, activation=\"tanh\"),\n",
        "\n",
        "    LSTM(32, activation=\"tanh\"),\n",
        "\n",
        "    Flatten(),\n",
        "\n",
        "    Dense(64, activation='relu'),\n",
        "    Dense(32, activation='relu'),\n",
        "    Dense(5, activation='softmax')\n",
        "    ])\n",
        "\n",
        "model_cnn_lstm.summary()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "O5rzmBp0c7MO",
        "outputId": "cb855f35-d373-4c3c-ec6b-32495596f62d"
      },
      "execution_count": 41,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Model: \"sequential\"\n",
            "_________________________________________________________________\n",
            " Layer (type)                Output Shape              Param #   \n",
            "=================================================================\n",
            " conv1d (Conv1D)             (None, 182, 64)           448       \n",
            "                                                                 \n",
            " batch_normalization (Batch  (None, 182, 64)           256       \n",
            " Normalization)                                                  \n",
            "                                                                 \n",
            " max_pooling1d (MaxPooling1  (None, 91, 64)            0         \n",
            " D)                                                              \n",
            "                                                                 \n",
            " conv1d_1 (Conv1D)           (None, 89, 64)            12352     \n",
            "                                                                 \n",
            " batch_normalization_1 (Bat  (None, 89, 64)            256       \n",
            " chNormalization)                                                \n",
            "                                                                 \n",
            " max_pooling1d_1 (MaxPoolin  (None, 45, 64)            0         \n",
            " g1D)                                                            \n",
            "                                                                 \n",
            " conv1d_2 (Conv1D)           (None, 43, 64)            12352     \n",
            "                                                                 \n",
            " batch_normalization_2 (Bat  (None, 43, 64)            256       \n",
            " chNormalization)                                                \n",
            "                                                                 \n",
            " max_pooling1d_2 (MaxPoolin  (None, 22, 64)            0         \n",
            " g1D)                                                            \n",
            "                                                                 \n",
            " lstm (LSTM)                 (None, 22, 64)            33024     \n",
            "                                                                 \n",
            " lstm_1 (LSTM)               (None, 32)                12416     \n",
            "                                                                 \n",
            " flatten (Flatten)           (None, 32)                0         \n",
            "                                                                 \n",
            " dense (Dense)               (None, 64)                2112      \n",
            "                                                                 \n",
            " dense_1 (Dense)             (None, 32)                2080      \n",
            "                                                                 \n",
            " dense_2 (Dense)             (None, 5)                 165       \n",
            "                                                                 \n",
            "=================================================================\n",
            "Total params: 75717 (295.77 KB)\n",
            "Trainable params: 75333 (294.27 KB)\n",
            "Non-trainable params: 384 (1.50 KB)\n",
            "_________________________________________________________________\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "model_cnn_lstm.compile(optimizer='adam',\n",
        "                  loss='categorical_crossentropy',\n",
        "                  metrics=['accuracy'])"
      ],
      "metadata": {
        "id": "3inDs8cJc91e"
      },
      "execution_count": 42,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "callbacks = [EarlyStopping(monitor='val_loss',\n",
        "                           patience=8),\n",
        "             ReduceLROnPlateau(patience=20,\n",
        "                               monitor='val_loss',\n",
        "                               min_lr=1e-6,\n",
        "                               cool_down=20),\n",
        "             ModelCheckpoint(filepath=r'C:\\Users\\zaida\\Downloads\\archive',\n",
        "                             monitor='val_loss',\n",
        "                             save_best_only=True)]"
      ],
      "metadata": {
        "id": "01LOucyOdNU2"
      },
      "execution_count": 44,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "history = model_cnn_lstm.fit(x_train, y_train,\n",
        "                        epochs=10,\n",
        "                        callbacks=callbacks,\n",
        "                        batch_size=32,\n",
        "                        validation_data=(x_val, y_val),\n",
        "                       verbose=1)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "VuyksmXJdPju",
        "outputId": "823d8e8f-e6df-4e70-983d-7e7049699526"
      },
      "execution_count": 45,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/10\n",
            "9059/9059 [==============================] - 663s 72ms/step - loss: 0.1943 - accuracy: 0.9301 - val_loss: 0.2086 - val_accuracy: 0.9261 - lr: 0.0010\n",
            "Epoch 2/10\n",
            "9059/9059 [==============================] - 669s 74ms/step - loss: 0.0663 - accuracy: 0.9781 - val_loss: 0.0454 - val_accuracy: 0.9846 - lr: 0.0010\n",
            "Epoch 3/10\n",
            "9059/9059 [==============================] - 654s 72ms/step - loss: 0.0429 - accuracy: 0.9862 - val_loss: 0.0435 - val_accuracy: 0.9865 - lr: 0.0010\n",
            "Epoch 4/10\n",
            "9059/9059 [==============================] - 646s 71ms/step - loss: 0.0328 - accuracy: 0.9898 - val_loss: 0.0351 - val_accuracy: 0.9891 - lr: 0.0010\n",
            "Epoch 5/10\n",
            "9059/9059 [==============================] - 639s 71ms/step - loss: 0.0260 - accuracy: 0.9919 - val_loss: 0.0413 - val_accuracy: 0.9877 - lr: 0.0010\n",
            "Epoch 6/10\n",
            "9059/9059 [==============================] - 703s 78ms/step - loss: 0.0223 - accuracy: 0.9931 - val_loss: 0.0208 - val_accuracy: 0.9935 - lr: 0.0010\n",
            "Epoch 7/10\n",
            "9059/9059 [==============================] - 686s 76ms/step - loss: 0.0193 - accuracy: 0.9941 - val_loss: 0.0179 - val_accuracy: 0.9951 - lr: 0.0010\n",
            "Epoch 8/10\n",
            "9059/9059 [==============================] - 629s 69ms/step - loss: 0.0170 - accuracy: 0.9948 - val_loss: 0.0841 - val_accuracy: 0.9782 - lr: 0.0010\n",
            "Epoch 9/10\n",
            "9059/9059 [==============================] - 618s 68ms/step - loss: 0.0153 - accuracy: 0.9954 - val_loss: 0.0224 - val_accuracy: 0.9937 - lr: 0.0010\n",
            "Epoch 10/10\n",
            "9059/9059 [==============================] - 618s 68ms/step - loss: 0.0137 - accuracy: 0.9959 - val_loss: 0.0276 - val_accuracy: 0.9909 - lr: 0.0010\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Plot loss and accuracy of the model\n",
        "fig, axs = plt.subplots(2, figsize=(10, 10))\n",
        "\n",
        "# Plot loss\n",
        "axs[0].plot(history.history['loss'], label='Training Loss')\n",
        "axs[0].plot(history.history['val_loss'], label='Validation Loss')\n",
        "axs[0].set_title('Loss Over Epochs')\n",
        "axs[0].set_xlabel('Epoch')\n",
        "axs[0].set_ylabel('Loss')\n",
        "axs[0].legend()\n",
        "axs[0].grid(True)\n",
        "\n",
        "# Plot accuracy\n",
        "axs[1].plot(history.history['accuracy'], label='Training Accuracy')\n",
        "axs[1].plot(history.history['val_accuracy'], label='Validation Accuracy')\n",
        "axs[1].set_title('Accuracy Over Epochs')\n",
        "axs[1].set_xlabel('Epoch')\n",
        "axs[1].set_ylabel('Accuracy')\n",
        "axs[1].legend()\n",
        "axs[1].grid(True)\n",
        "\n",
        "plt.tight_layout()\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "J_3HLZpVe0PB",
        "outputId": "09a1afb4-4451-428c-d6e8-e3b2b0c6359e"
      },
      "execution_count": 46,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 2 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAPeCAYAAAARWnkoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeVxVdf7H8de9lwuIrIqCKIoL7oqKSpZromhNudDebywzmxq1xWkZZ8q2mbHFzGlysmyfqclK20tFc8u1RFxxTUVlcUVEFC7c+/vjyFUSFBE4LO/n43EfHM753nM+F7+Wb873fL8Wl8vlQkRERERERETKndXsAkRERERERERqKoVuERERERERkQqi0C0iIiIiIiJSQRS6RURERERERCqIQreIiIiIiIhIBVHoFhEREREREakgCt0iIiIiIiIiFUShW0RERERERKSCKHSLiIiIiIiIVBCFbhEREZHfWLJkCRaLhc8//9zsUkREpJpT6BYRESnB+++/j8Vi4ZdffjG7lFJZsWIFI0aMICQkBC8vLyIiIvjDH/5ASkqK2aVdoDDUlvT65JNPzC5RRESkXHiYXYCIiIhcuX/961889NBDtGjRggkTJtCoUSOSk5N5++23mT17Nt9//z1XX3212WVe4MEHH6RHjx4X7O/Vq5cJ1YiIiJQ/hW4REZFqbsWKFTz88MP07t2befPm4ePj4z72wAMPcM0113DTTTexZcsWgoKCKq2uU6dOUbdu3Yu26dOnDzfddFMlVSQiIlL5NLxcRETkCq1fv56hQ4fi7++Pr68vAwcOZPXq1UXaOBwOnn32WSIjI/H29qZ+/fr07t2bhIQEd5v09HRGjx5NkyZN8PLyolGjRgwbNoy9e/de9PrPP/88FouFDz74oEjgBmjZsiUvvfQSaWlpvPnmmwBMnToVi8XCvn37LjjXpEmT8PT05Pjx4+59a9asYciQIQQEBODj40O/fv1YsWJFkfc988wzWCwWtm7dyh133EFQUBC9e/cu1c/vUiwWC+PHj+ejjz6iTZs2eHt7Ex0dzbJlyy5oW5o/C4DMzEweeeQRIiIi8PLyokmTJowaNYojR44Uaed0Ovn73/9OkyZN8Pb2ZuDAgezatatIm507dxIfH09oaCje3t40adKE2267jRMnTpTL5xcRkepNd7pFRESuwJYtW+jTpw/+/v48/vjj2O123nzzTfr378/SpUuJiYkBjFA6ZcoU7r33Xnr27ElWVha//PILiYmJDBo0CID4+Hi2bNnChAkTiIiI4NChQyQkJJCSkkJERESx18/JyWHRokX06dOH5s2bF9vm1ltv5b777uPbb7/lz3/+M7fccguPP/44n376KY899liRtp9++imDBw923xH/8ccfGTp0KNHR0Tz99NNYrVbee+89rr32WpYvX07Pnj2LvP/mm28mMjKSf/zjH7hcrkv+/E6ePHlB0AWoX78+FovF/f3SpUuZPXs2Dz74IF5eXvz73/9myJAhrF27lo4dO17Wn0V2djZ9+vQhOTmZe+65h27dunHkyBG+/vprDhw4QHBwsPu6L7zwAlarlUcffZQTJ07w0ksvceedd7JmzRoA8vLyiIuLIzc3lwkTJhAaGsrBgwf59ttvyczMJCAg4JI/AxERqeFcIiIiUqz33nvPBbh+/vnnEtsMHz7c5enp6dq9e7d7X2pqqsvPz8/Vt29f976oqCjX9ddfX+J5jh8/7gJcL7/88mXVmJSU5AJcDz300EXbde7c2VWvXj3397169XJFR0cXabN27VoX4Prwww9dLpfL5XQ6XZGRka64uDiX0+l0t8vJyXE1b97cNWjQIPe+p59+2gW4br/99lLVvXjxYhdQ4istLc3dtnDfL7/84t63b98+l7e3t2vEiBHufaX9s5g8ebILcM2dO/eCugo/Z2F97dq1c+Xm5rqP//Of/3QBrk2bNrlcLpdr/fr1LsD12Weflepzi4hI7aPh5SIiImVUUFDAggULGD58OC1atHDvb9SoEXfccQc//fQTWVlZAAQGBrJlyxZ27txZ7Lnq1KmDp6cnS5YsKTK0+1JOnjwJgJ+f30Xb+fn5uWsB4+73unXr2L17t3vf7Nmz8fLyYtiwYQAkJSWxc+dO7rjjDo4ePcqRI0c4cuQIp06dYuDAgSxbtgyn01nkOvfff3+paweYPHkyCQkJF7zq1atXpF2vXr2Ijo52f9+0aVOGDRvG/PnzKSgouKw/izlz5hAVFcWIESMuqOf8u+sAo0ePxtPT0/19nz59APj1118B3Hey58+fT05OzmV9dhERqR0UukVERMro8OHD5OTk0KZNmwuOtWvXDqfTyf79+wF47rnnyMzMpHXr1nTq1InHHnuMjRs3utt7eXnx4osv8sMPPxASEkLfvn156aWXSE9Pv2gNhWG7MHyX5OTJk0WC+c0334zVamX27NkAuFwuPvvsM/fz0ID7FwR33XUXDRo0KPJ6++23yc3NveC55ZKGuJekU6dOxMbGXvA6P+gCREZGXvDe1q1bk5OTw+HDhy/rz2L37t3uIemX0rRp0yLfFw67L/zFSPPmzZk4cSJvv/02wcHBxMXFMWPGDD3PLSIibgrdIiIilaBv377s3r2bd999l44dO/L222/TrVs33n77bXebhx9+mB07djBlyhS8vb156qmnaNeuHevXry/xvK1atcLDw6NIgP+t3Nxctm/fTvv27d37wsLC6NOnD59++ikAq1evJiUlhVtvvdXdpvAu9ssvv1zs3eiEhAR8fX2LXKtOnTqX94Op4mw2W7H7Xec9r/7KK6+wceNG/vKXv3D69GkefPBBOnTowIEDByqrTBERqcIUukVERMqoQYMG+Pj4sH379guObdu2DavVSnh4uHtfvXr1GD16NP/73//Yv38/nTt35plnninyvpYtW/KnP/2JBQsWsHnzZvLy8njllVdKrKFu3boMGDCAZcuWFTsbORiTo+Xm5vK73/2uyP5bb72VDRs2sH37dmbPno2Pjw833HBDkVoA/P39i70bHRsbi91uv+TPqTwUNyx/x44d+Pj4uO++l/bPomXLlmzevLlc6+vUqRNPPvkky5YtY/ny5Rw8eJCZM2eW6zVERKR6UugWEREpI5vNxuDBg/nqq6+KLOuVkZHBxx9/TO/evd1DtY8ePVrkvb6+vrRq1Yrc3FzAmIX8zJkzRdq0bNkSPz8/d5uSPPnkk7hcLu6++25Onz5d5NiePXt4/PHHadSoEX/4wx+KHIuPj8dms/G///2Pzz77jN/97ndF1tWOjo6mZcuWTJ06lezs7Auue/jw4YvWVZ5WrVpFYmKi+/v9+/fz1VdfMXjwYGw222X9WcTHx7Nhwwa++OKLC67jKsWM6+fLysoiPz+/yL5OnTphtVov+ecmIiK1g5YMExERuYR3332XefPmXbD/oYce4m9/+xsJCQn07t2bP/7xj3h4ePDmm2+Sm5vLSy+95G7bvn17+vfvT3R0NPXq1eOXX37h888/Z/z48YBx13bgwIHccssttG/fHg8PD7744gsyMjK47bbbLlpf3759mTp1KhMnTqRz587cfffdNGrUiG3btjFr1iycTifff/+9+3nkQg0bNmTAgAFMmzaNkydPFhlaDmC1Wnn77bcZOnQoHTp0YPTo0TRu3JiDBw+yePFi/P39+eabb8r6YwVg+fLlF/yyAaBz58507tzZ/X3Hjh2Ji4srsmQYwLPPPutuU9o/i8cee4zPP/+cm2++mXvuuYfo6GiOHTvG119/zcyZM4mKiip1/T/++CPjx4/n5ptvpnXr1uTn5/Of//wHm81GfHx8WX4kIiJS05g7ebqIiEjVVbhkWEmv/fv3u1wulysxMdEVFxfn8vX1dfn4+LgGDBjgWrlyZZFz/e1vf3P17NnTFRgY6KpTp46rbdu2rr///e+uvLw8l8vlch05csQ1btw4V9u2bV1169Z1BQQEuGJiYlyffvppqetdtmyZa9iwYa7g4GCX3W53NW3a1DV27FjX3r17S3zPrFmzXIDLz8/Pdfr06WLbrF+/3jVy5EhX/fr1XV5eXq5mzZq5brnlFteiRYvcbQqXDDt8+HCpar3UkmFPP/20uy3gGjdunOu///2vKzIy0uXl5eXq2rWra/HixRectzR/Fi6Xy3X06FHX+PHjXY0bN3Z5enq6mjRp4rrrrrtcR44cKVLfb5cC27Nnjwtwvffeey6Xy+X69ddfXffcc4+rZcuWLm9vb1e9evVcAwYMcC1cuLBUPwcREan5LC7XZY6jEhEREalEFouFcePG8frrr5tdioiIyGXTM90iIiIiIiIiFUShW0RERERERKSCKHSLiIiIiIiIVBDNXi4iIiJVmqafERGR6kx3ukVEREREREQqiEK3iIiIiIiISAXR8PIycjqdpKam4ufnh8ViMbscERERERERqUQul4uTJ08SFhaG1Vry/WyF7jJKTU0lPDzc7DJERERERETERPv376dJkyYlHlfoLiM/Pz/A+AH7+/ubXE3xHA4HCxYsYPDgwdjtdrPLESkX6tdSE6lfS02kfi01kfq1nC8rK4vw8HB3NiyJQncZFQ4p9/f3r9Kh28fHB39/f/1HQWoM9WupidSvpSZSv5aaSP1ainOpx401kZqIiIiIiIhIBVHoFhEREREREakgCt0iIiIiIiIiFUTPdIuIiIiISLXmdDrJy8ur8Os4HA48PDw4c+YMBQUFFX49MZfdbsdms13xeRS6RURERESk2srLy2PPnj04nc4Kv5bL5SI0NJT9+/dfcvIsqRkCAwMJDQ29oj9vhW4REREREamWXC4XaWlp2Gw2wsPDsVor9ulZp9NJdnY2vr6+FX4tMZfL5SInJ4dDhw4B0KhRozKfS6FbRERERESqpfz8fHJycggLC8PHx6fCr1c4jN3b21uhuxaoU6cOAIcOHaJhw4ZlHmquniIiIiIiItVS4XPVnp6eJlciNVXhL3McDkeZz6HQLSIiIiIi1Zqer5aKUh59S6FbREREREREpIIodIuIiIiIiFRzERERTJ8+vdTtlyxZgsViITMzs8JqEoNCt4iIiIiISCWxWCwXfT3zzDNlOu/PP//MfffdV+r2V199NWlpaQQEBJTpeqWlcK/Zy0VERERERCpNWlqae3v27NlMnjyZ7du3u/f5+vq6t10uFwUFBXh4XDq2NWjQ4LLq8PT0JDQ09LLeI2WjO90iIiIiIiKVJDQ01P0KCAjAYrG4v9+2bRt+fn788MMPREdH4+XlxU8//cTu3bsZNmwYISEh+Pr60qNHDxYuXFjkvL8dXm6xWHj77bcZMWIEPj4+REZG8vXXX7uP//YO9Pvvv09gYCDz58+nXbt2+Pr6MmTIkCK/JMjPz+fBBx8kMDCQ+vXr88QTT3DXXXcxfPjwMv88jh8/zqhRowgKCsLHx4ehQ4eyc+dO9/F9+/Zxww03EBQURN26denQoQPff/+9+7133nknDRo0oE6dOkRGRvLee++VuZaKotBdkxU48HRkmV2FiIiIiEilcLlc5OTlV+jrdF5BsftdLle5fY4///nPvPDCCyQnJ9O5c2eys7O57rrrWLRoEevXr2fIkCHccMMNpKSkXPQ8zz77LLfccgsbN27kuuuu48477+TYsWMlts/JyWHq1Kn85z//YdmyZaSkpPDoo4+6j7/44ot89NFHvPfee6xYsYKsrCy+/PLLK/qsd999N7/88gtff/01q1atwuVycd1117mX6Bo3bhy5ubksW7aMTZs28eKLL7pHAzz11FNs3bqVH374geTkZN544w2Cg4OvqJ6KoOHlNdWmz/H49mE612kH3GZ2NSIiIiIiFe60o4D2k+ebcu2tz8Xh41k+8eq5555j0KBB7u/r1atHVFSU+/vnn3+eL774gq+//prx48eXeJ67776b22+/HYB//OMfvPbaa6xdu5YhQ4YU297hcDBz5kxatmwJwPjx43nuuefcx//1r38xadIkRowYAcDrr7/u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z59f5LlsgObNmxMaGsqiRYvcITsrK4s1a9bwwAMPANCrVy8yMzNZt24d0dHRAPz44484nU5iYmKKvaaXlxdeXl4X7Lfb7VX+fyTuGu12aNEPdszDvmcRNOlidmkiZVYd/u6JXC71a6mJ1K+lIhUUFGCxWLBarVitVnC5wFG6u49l4XQ6wZGDxWEzrnc+u0+pRpJ6enoyatQoPvjgA5588kl3eJ8zZw4FBQXceeedZGdn0717d/785z/j7+/Pd999x1133UVkZCQ9e/Z0n6vws//2e6fTyU033URISAhr1qzhxIkT7ue/3T8rwN/fn/fff5+wsDA2bdrE2LFj8ff35/HHH+f2229n69atzJs3j4ULFwLGXFmF7y08z6lTpxg6dCi9evXi559/5tChQ9x77708+OCDvP/+++66lixZQlhYGIsXL2bXrl3ceuutdO3albFjxxb7czr/OsX9OYwYMQJfX1+WLl1Kfn4+48aN4/bbb2fJkiUA/P73v6dr16688cYb2Gw2kpKS8PLywmq1MmHCBPLy8li2bBl169Zl69at+Pv7F3stq9WKxWIp9r9lpf1vm+nDyydOnMhdd91F9+7d6dmzJ9OnT+fUqVOMHj0agFGjRtG4cWOmTJkCwIsvvsjkyZP5+OOPiYiIcD+D7evri6+vLxaLhYcffpi//e1vREZG0rx5c5566inCwsLcwb5du3YMGTKEsWPHMnPmTBwOB+PHj+e2224jLCzMlJ9DpYkcDDvmwc4E6PMns6sRERERESk/jhz4R8X9e94KBJZ08C+p4Fm3VOe55557ePnll1m6dCn9+/cH4L333iM+Pp6AgAACAgJ49NFH3e0nTJjA/Pnz+fTTT4uE7pIsXLiQbdu2MX/+fHe++cc//sHQoUOLtHvyySfd2xERETz66KN88sknPP7449SpUwdfX1/3EP6SfPzxx5w5c4YPP/yQunWNz//6669zww038OKLL7rvPAcFBfH6669js9lo27Yt119/PYsWLSoxdF/MokWL2LRpE3v27CE8PByADz/8kA4dOvDzzz/To0cPUlJSeOyxx2jbti0AkZGR7venpKQQHx9Pp06dAGOUQEUyfcmwW2+9lalTpzJ58mS6dOlCUlIS8+bNc//hpKSkkJaW5m7/xhtvkJeXx0033USjRo3cr6lTp7rbPP7440yYMIH77ruPHj16kJ2dzbx584oMB/joo49o27YtAwcO5LrrrqN379689dZblffBzRI5yPi6fw2cPm5uLSIiIiIitVDbtm25+uqr3csk79q1i+XLlzNmzBjAuIP//PPP06lTJ+rVq4evry/z588nJSWlVOdPTk4mPDy8yA3FXr16XdBu9uzZXHPNNYSGhuLr68uTTz5Z6mucf62oqCh34Aa45pprcDqdbN++3b2vQ4cORSYia9So0QWP/F7ONcPDw92BG6B9+/YEBgaSnJwMGDd37733XmJjY3nhhRfYvXu3u+2DDz7I3/72N6655hqefvppNm7cWKY6Ssv0O90A48ePL3E4eeHwgEJ79+695PksFgvPPfcczz33XIlt6tWrx8cff3w5ZdYMgU2hQTs4nAy7FkGnm8yuSERERESkfNh9jDvOFcTpdJJ18iT+fn7FDy+/DGPGjGHChAnMmDGD9957j5YtW9KvXz8AXn75Zf75z38yffp0OnXqRN26dXn44YfLdbK4VatWceedd/Lss88SFxdHQEAAn3zyCa+88kq5XeN8vx2KbbFYKnT282eeeYY77riD7777jh9++IGnn36aTz75hBEjRnDvvfcSFxfHd999x4IFC5gyZQqvvPIKEyZMqJBaTL/TLSZofXa5sJ2aTVREREREahCLxRjiXZEvu0/x+y9zYrVbbrkFq9XKxx9/zIcffsg999zjfr57xYoVDBs2jP/7v/8jKiqKFi1asGPHjlKfu127duzfv7/IiOHVq1cXabNy5UqaNWvGX//6V7p3705kZCT79u0r0sbT05OCgoJLXmvDhg2cOnXKvW/FihVYrVbatGlT6povR+Hn279/v3vf1q1byczMpH379u59rVu35pFHHmHBggWMHDmS9957z30sPDyc+++/n7lz5/KnP/2JWbNmVUitoNBdO0WeDd27EqAS1jMUEREREZGifH19ufXWW5k0aRJpaWncfffd7mORkZEkJCSwcuVKkpOT+cMf/nDBik8XExsbS+vWrbnrrrvYsGEDy5cvLzJTeuE1UlJS+OSTT9i9ezevvfYaX3zxRZE2ERER7Nmzh6SkJI4cOVLsEmF33nkn3t7e3HXXXWzevJnFixczYcIEfv/737sfGS6rgoICkpKSirySk5OJjY2lU6dO3HnnnSQmJrJ27VpGjRpFv3796N69O6dPn2b8+PEsWbKEffv2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95ORkUH79u2x2Wx4vV6eeOIJrr766mCXJrWAQreI1Cq33347a9as4fvvvw92KSInZMeOHdx1110sXrwYp9MZ7HJEKo3P56N79+48+eSTAJx66qmsWbOGV155RaFbaq25c+cyc+ZMZs2aRceOHVm1ahV33303iYmJOq/lqBS665i4uDhsNht79+4NWL93714aN24cpKpEKse4ceP4+OOP+fbbb2nWrFmwyxE5IT///DP79u2jW7du/nVer5dvv/2WKVOmkJ+fj81mC2KFIsenSZMmnHzyyQHrOnTowPvvvx+kikRO3N/+9jfuv/9+rrzySgBOOeUUtm3bxlNPPaXQLUela7rrGIfDwWmnncaSJUv863w+H0uWLKFXr15BrEzk+BmGwbhx41iwYAFffvklrVq1CnZJIifs3HPP5ffff2fVqlX+pXv37lx99dWsWrVKgVtqrTPPPLPUtI7r16+nRYsWQapI5MTl5ORgtQZGJ5vNhs/nC1JFUpuopbsOGj9+PKNHj6Z79+706NGDyZMnk52dzXXXXRfs0kSOy+23386sWbP48MMPiYyMZM+ePQBER0fjcrmCXJ3I8YmMjCw1LkF4eDgNGzbUeAVSq91zzz307t2bJ598kuHDh7NixQpee+01XnvttWCXJnLcLr74Yp544gmaN29Ox44d+fXXX5k0aRJjx44NdmlSC2jKsDpqypQpPPvss+zZs4euXbvywgsv0LNnz2CXJXJcLBZLmevffPNNxowZU73FiFShfv36acowqRM+/vhjHnjgATZs2ECrVq0YP348N954Y7DLEjlumZmZTJgwgQULFrBv3z4SExMZOXIkDz/8MA6HI9jlSQ2n0C0iIiIiIiJSRXRNt4iIiIiIiEgVUegWERERERERqSIK3SIiIiIiIiJVRKFbREREREREpIoodIuIiIiIiIhUEYVuERERERERkSqi0C0iIiIiIiJSRRS6RURERERERKqIQreIiIhUK4vFwgcffBDsMkRERKqFQreIiEg9MmbMGCwWS6nl/PPPD3ZpIiIidVJIsAsQERGR6nX++efz5ptvBqwLDQ0NUjUiIiJ1m1q6RURE6pnQ0FAaN24csMTGxgJm1++pU6dywQUX4HK5aN26Ne+9917A83///XfOOeccXC4XDRs25KabbiIrKytgn2nTptGxY0dCQ0Np0qQJ48aNC9iemprKZZddRlhYGG3btmXhwoVV+6ZFRESCRKFbREREAkyYMIGhQ4eyevVqrr76aq688krWrl0LQHZ2NoMGDSI2NpaVK1cyb948vvjii4BQPXXqVG6//XZuuukmfv/9dxYuXEibNm0CXuPRRx9l+PDh/PbbbwwePJirr76agwcPVuv7FBERqQ4WwzCMYBchIiIi1WPMmDHMmDEDp9MZsP7BBx/kwQcfxGKxcMsttzB16lT/tjPOOINu3brx8ssv8/rrr3PfffexY8cOwsPDAfj000+5+OKL2bVrFwkJCTRt2pTrrruOf/7zn2XWYLFYeOihh3j88ccBM8hHRETwv//9T9eWi4hInaNrukVEROqZ/v37B4RqgAYNGvjv9+rVK2Bbr169WLVqFQBr166lS5cu/sANcOaZZ+Lz+fjrr7+wWCzs2rWLc88994g1dO7c2X8/PDycqKgo9u3bd7xvSUREpMZS6BYREalnwsPDS3X3riwul6tC+9nt9oDHFosFn89XFSWJiIgEla7pFhERkQA//PBDqccdOnQAoEOHDqxevZrs7Gz/9qVLl2K1WmnXrh2RkZG0bNmSJUuWVGvNIiIiNZVaukVEROqZ/Px89uzZE7AuJCSEuLg4AObNm0f37t0566yzmDlzJitWrOCNN94A4Oqrr+aRRx5h9OjRTJw4kf3793PHHXdw7bXXkpCQAMDEiRO55ZZbiI+P54ILLiAzM5OlS5dyxx13VO8bFRERqQEUukVEROqZzz77jCZNmgSsa9euHevWrQPMkcVnz57NbbfdRpMmTXj33Xc5+eSTAQgLC2PRokXcddddnH766YSFhTF06FAmTZrkP9bo0aPJy8vjP//5D/feey9xcXEMGzas+t6giIhIDaLRy0VERMTPYrGwYMEChgwZEuxSRERE6gRd0y0iIiIiIiJSRRS6RURERERERKqIrukWERERP111JiIiUrnU0i0iIiIiIiJSRRS6RURERERERKqIQreIiIiIiIhIFVHoFhEREREREakiCt0iIiIiIiIiVUShW0RERERERKSKKHSLiIiIiIiIVBGFbhEREREREZEqotAtIiIiIiIiUkUUukVERERERESqiEK3iIiIiIiISBVR6BYRERERERGpIgrdIiIiIiIiIlVEoVtERESkGlgsFsaNGxfsMkREpJopdIuISJ318ssvY7FY6Nmz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z3PPPdd47bXX/PsUTRk2b968CtfLEaYM69u3r3+/vn37Gh07djR++ukno1evXobT6TRatGhhTJkypcxar7vuOiMuLs5wOBzGKaecUurfwjAMw+PxGM8++6zRvn17w+FwGI0aNTIuuOAC4+effw6or6ypwFq0aGGMHj3aMAzz3+tvf/ub0aVLFyMyMtIIDw83unTpYrz88ssV/hxERKRmsRjGMfZ7EhERkVrD4/GQmJjIxRdfzBtvvBHscmqEfv36kZqaWqHr4kVERE6UrukWERGpwz744AP2798fMDibiIiIVB9d0y0iIlIH/fjjj/z22288/vjjnHrqqf5Bv0RERKR6qaVbRESkDpo6dSq33nor8fHxvP3228EuR0REpN7SNd0iIiIiIiIiVUQt3SIiIiIiIiJVRKFbREREREREpIoodIuIiIiIiIhUEY1efpx8Ph+7du0iMjISi8US7HJERERERESkGhmGQWZmJomJiVit5bdnK3Qfp127dpGUlBTsMkRERERERCSIduzYQbNmzcrdrtB9nCIjIwHzA46KigpyNWVzu918/vnnnHfeedjt9mCXI1IpdF5LXaTzWuoinddSF+m8luIyMjJISkryZ8PyKHQfp6Iu5VFRUTU6dIeFhREVFaUfClJn6LyWukjntdRFOq+lLtJ5LWU52uXGGkhNREREREREpIoodIuIiIiIiIhUEYVuERERERERkSqia7qrmNfrxe12B+W13W43ISEh5OXl4fV6g1KD1F0Oh+OIUyOIiIiIiIhCd5UxDIM9e/aQlpYW1BoaN27Mjh07NJe4VDqr1UqrVq1wOBzBLkVEREREpMZS6K4iRYE7Pj6esLCwoIRen89HVlYWERERapGUSuXz+di1axe7d++mefPm+lJHRERERKQcCt1VwOv1+gN3w4YNg1aHz+ejoKAAp9Op0C2VrlGjRuzatQuPx6MpM0REREREyqEkVgWKruEOCwsLciUiVaeoW7nGCxARERERKZ9CdxVSl1upy3R+i4iIiIgcnUK3VKmWLVsyefLkCu//9ddfY7FYgjoAnYiIiIiISGVR6BbAbLU80jJx4sTjOu7KlSu56aabKrx/79692b17N9HR0cf1esejffv2hIaGsmfPnmp7TRERERERqR8UugWA3bt3+5fJkycTFRUVsO7ee+/172sYBh6Pp0LHbdSo0TFd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8/O58MILmTBhgn+QMoChQ4cyf/58+vfvT1pamn/KsOLCwsJYtGgRd911F6effnrAlGHHq2hQtrKuxz733HNxuVzMmDGDO++8ky+//JK//e1v9O3bF5vNRteuXTnzzDMBGD16NHl5efznP//h3nvvJS4ujmHDhvmPNW3aNK6//npOO+002rVrx7/+9S/OO++8o9Y3adIkxo4dS+/evYmLi+O+++4jIyOwp8PUqVN58MEHue222zhw4ADNmzfnwQcfDNjn+uuv58knn+S66647no9JpEbKzvf4g/TOYoG6qNX6aFNiWS3QJNoV0EKd1MBFs8LbhEhnzbpOOthSNxS2aM83/yArEuKEtueZLdptB5mtLCJHExoJ17wHM68wW9feHgLXLig9orNIRRRkw7wxsOFzsNjgkhfg1GuCXVXtYHeZswmUnFHAnQcHNh4O4UWt4wc3Q366eYnIzhWBzwmNKuyiXtRNvbB1PKppnQzjFsOo4JxSEiAjI4Po6GjS09NLDfKVl5fHli1baNWqFU5n8L659/l8ZGRkEBUV5b9WWORovvvuO84991x27NhxxF4BwTrP3W53YTfcwXW3G64cs3yPl5RDJQYrK3Z99eHBysoXFxFKUgOXP1AfbqkOo0mM8/imvaqgOnFeH9xS2KK9APYWG5DS5jBbsjtebrZsh0YGr0apVpV+XudnFQbvZeYf7NfMLz2vsciR5Bw0pwTbuRJCXHDFdPPn0jGoEz+vq4sn/3AYLz6I24FN5qB1ZXFEFgbxYl3UW/SusQPbHSkTFqeWbhEBID8/n/379zNx4kSuuOKK4+6GL1IVPF4fezLy/C3UxQcr23kol72ZeRztK+Rol91snY4pDNXFWqybxoThcmhk7GOWtsO8PvuP+bDr18PrrSHmtdmdLod2g81poEROVGgEXD0PZo0wpz165zJzlPOko09bKkL6TnMqutS/zOuPr5oHzXsGu6q6LSQUEjqaS3GegsCW8aJB3A5shIJMc7rAlJ8O73/XbzU2dFdUrQjdL730Es8++yx79uyhS5cuvPjii+XOC+12u3nqqad46623SElJoV27djzzzDMBXZgzMzOZMGECCxYsYN++fZx66qk8//zzxzVXskhd8e6773L99dfTtWtX3n777WCXI/VMycHKArqAV3CwMpfdFtBC3Sz2cPfvpAZhRDnVIlEpMnab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5Zdf6osvvjC7FKDJ3HLLLYqKitJrr73mbrvtttsUEhKi119/3cTK0BIw0+1lamtrtXXrVqWkpLjbrFarUlJStGHDBhMrA5rO8ePHJUkdOnQwuRLg8k2fPl0333xzvf9vAy3ZypUrNWTIEN1+++2KjIzUwIED9eqrr5pdFnBZrr76amVnZ2vfvn2SpB07dmj9+vUaO3asyZWhJfA3uwA0rSNHjshutysqKqpee1RUlPbs2WNSVUDTcTgcevjhhzVixAj169fP7HKAy/LWW29p27Zt2rJli9mlAE0mLy9PL730kjIyMjR79mxt2bJFDz74oAIDAzV16lSzywMuycyZM1VeXq5evXrJz89Pdrtdf/rTnzR58mSzS0MLQOgG0KJMnz5du3fv1vr1680uBbgshw4d0kMPPaSsrCwFBwebXQ7QZBwOh4YMGaKnnnpKkjRw4EDt3r1bL7/8MqEbLdY///lP/eMf/9Abb7yhvn37KicnRw8//LBiY2MZ1/hZhG4vEx4eLj8/PxUXF9drLy4uVnR0tElVAU1jxowZ+uCDD7Ru3TpdccUVZpcDXJatW7eqpKREgwYNcrfZ7XatW7dOL7zwgmpqauTn52dihcCliYmJUZ8+feq19e7dW++++65JFQGX77//+781c+ZM3XnnnZKk/v376/vvv9f8+fMJ3fhZ3NPtZQIDAzV48GBlZ2e72xwOh7KzszV8+HATKwMundPp1IwZM7RixQp99tln6tq1q9klAZftxhtv1K5du5STk+P+GTJkiCZPnqycnBwCN1qsESNGNHis4759+9S5c2eTKgIuX1VVlazW+tHJz89PDofDpIrQkjDT7YUyMjI0depUDRkyRFdeeaUWLVqkyspKpaenm10acEmmT5+uN954Q++//77CwsJUVFQkSWrbtq1CQkJMrg64NGFhYQ32JWjVqpU6duzIfgVo0X73u9/p6quv1lNPPaVJkyZp8+bNeuWVV/TKK6+YXRpwycaNG6c//elP6tSpk/r27avt27dr4cKFuueee8wuDS0AjwzzUi+88IL+53/+R0VFRUpOTtZf/vIXDRs2zOyygEtisVgabV+6dKnuvvvu5i0GMNB1113HI8PgFT744APNmjVL+/fvV9euXZWRkaFp06aZXRZwySoqKvToo49qxYoVKikpUWxsrO666y499thjCgwMNLs8eDhCNwAAAAAABuGebgAAAAAADELoBgAAAADAIIRuAAAAAAAMQugGAAAAAMAghG4AAAAAAAxC6AYAAAAAwCCEbgAAAAAADELoBgAAAADAIIRuAADQrCwWizIzM80uAwCAZkHoBgDAh9x9992yWCwNfm666SazSwMAwCv5m10AAABoXjfddJOWLl1ary0oKMikagAA8G7MdAMA4GOCgoIUHR1d76d9+/aSXEu/X3rpJY0dO1YhISFKSEjQO++8U+/zu3bt0g033KCQkBB17NhR9957r06cOFGvz5IlS9S3b18FBQUpJiZGM2bMqHf8yJEjmjhxokJDQ9W9e3etXLnS2IsGAMAkhG4AAFDPo48+qttuu007duzQ5MmTdeedd+rbb7+VJFVWVio1NVXt27fXli1b9Pbbb+vTTz+tF6pfeuklTZ8+Xffee6927dqllStXqlu3bvXO8fjjj2vSpEnauXOn0tLSNHnyZB09erRZrxMAgOZgcTqdTrOLAAAAzePuu+/W66+/ruDg4Hrts2fP1uzZs2WxWHTffffppZdech+76qqrNGjQIP31r3/Vq6++qv/3//6fDh06pFatWkmSPvroI40bN06FhYWKiopSXFyc0tPT9eSTTzZag8Vi0Zw5c/THP/5RkivIt27dWqtWreLecgCA1+GebgAAfMz1119fL1RLUocOHdyvhw8fXu/Y8OHDlZOTI0n69ttvlZSU5A7ckjRixAg5HA7t3btXFotFhYWFuvHGG89bw4ABA9yvW7VqpTZt2qikpORSLwkAAI9F6AYAwMe0atWqwXLvphISEnJB/QICAuq9t1gscjgcRpQEAICpuKcbAADUs3Hjxgbve/fuLUnq3bu3duzYocrKSvfxL7/8UlarVT179lRYWJi6dOmi7OzsZq0ZAABPxUw3AAA+pqamRkVFRfXa/P39FR4eLkl6++23NWTIEF1zzTX6xz/+oc2bN+u1116TJE2ePFlz587V1KlTNW/ePJWWluqBBx7Qr3/9a0VFRUmS5s2bp/vuu0+RkZEaO3asKioq9OWXX+qBBx5o3gsFAMADELoBAPAxq1evVkxMTL22nj17as+ePZJcO4u/9dZb+u1vf6uYmBi9+eab6tOnjyQpNDRUH3/8sR566CENHTpUoaGhuu2227Rw4UL3d02dOlXV1dX685//rN///vcKDw/XL37xi+a7QAAAPAi7lwMAADeLxaIVK1ZowoQJZpcCAIBX4J5uAAAAAAAMQugGAAAAAMAg3NMNAADcuOsMAICmxUw3AAAAAAAGIXQDAAAAAGAQQjcAAAAAAAYhdAMAAAAAYBBCNwAAAAAABiF0AwAAAABgEEI3AAAAAAAGIXQDAAAAAGAQQjcAAAAAAAb5/6dWToZBghkCAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Comprison between the accuracy of model on train and validation datasets\n",
        "train_score = model_cnn_lstm.evaluate(x_train, y_train)\n",
        "validation_score = model_cnn_lstm.evaluate(x_val, y_val)\n",
        "\n",
        "print('Accuracy Train data: ', train_score[1])\n",
        "print('Accuracy Validation data: ', validation_score[1])"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "f7hDgmA6s0dx",
        "outputId": "f4bdd515-c75f-4950-dd9d-971574c20030"
      },
      "execution_count": 47,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "9059/9059 [==============================] - 165s 18ms/step - loss: 0.0235 - accuracy: 0.9917\n",
            "2265/2265 [==============================] - 41s 18ms/step - loss: 0.0276 - accuracy: 0.9909\n",
            "Accuracy Train data:  0.9916759729385376\n",
            "Accuracy Validation data:  0.9908515214920044\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Predict on the test data\n",
        "y_pred = model_cnn_lstm.predict(x_test)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "YFm0sLl2s39I",
        "outputId": "cd7de220-8aa8-45a9-d867-0b59cb5f50b2"
      },
      "execution_count": 48,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "685/685 [==============================] - 15s 16ms/step\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.metrics import classification_report\n",
        "\n",
        "# Convert one-hot encoded labels to integer labels\n",
        "y_test_labels = np.argmax(y_test, axis=1)\n",
        "y_pred_labels = np.argmax(y_pred, axis=1)\n",
        "\n",
        "print(classification_report(y_test_labels, y_pred_labels))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "7mGV0vk3s7vW",
        "outputId": "8b8da1be-dd93-453a-9330-b64209ccb63f"
      },
      "execution_count": 49,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "              precision    recall  f1-score   support\n",
            "\n",
            "           0       0.99      0.99      0.99     18118\n",
            "           1       0.78      0.86      0.82       556\n",
            "           2       0.92      0.97      0.94      1448\n",
            "           3       0.72      0.83      0.77       162\n",
            "           4       0.99      0.99      0.99      1608\n",
            "\n",
            "    accuracy                           0.98     21892\n",
            "   macro avg       0.88      0.93      0.90     21892\n",
            "weighted avg       0.98      0.98      0.98     21892\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.metrics import confusion_matrix\n",
        "\n",
        "# Calculate confusion matrix\n",
        "cm = confusion_matrix(y_test_labels, y_pred_labels,\n",
        "                      normalize='true'\n",
        "                     )\n",
        "\n",
        "labels = ['Normal', 'Artial Premature', 'Premature ventricular contraction', 'Fusion of ventricular and normal', 'Fusion of paced and normal']\n",
        "\n",
        "cm_df = pd.DataFrame(cm, index=labels, columns=labels)\n",
        "\n",
        "# Plot confusion matrix\n",
        "cm_fig = px.imshow(cm_df,\n",
        "                labels=dict(x=\"Predicted\", y=\"True\", color=\"Count\"),\n",
        "                x=labels,\n",
        "                y=labels,\n",
        "                text_auto=True,\n",
        "                title='Confusion Matrix',\n",
        "                color_continuous_scale='Blues'\n",
        "               )\n",
        "cm_fig.update_layout(title_x=0.5, width=800, height=600)\n",
        "cm_fig.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 617
        },
        "id": "493IU2kus-B1",
        "outputId": "efbab4c6-a9e4-4be2-e2d2-6a8d663087f5"
      },
      "execution_count": 50,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<html>\n",
              "<head><meta charset=\"utf-8\" /></head>\n",
              "<body>\n",
              "    <div>            <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script>                <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
              "        <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script>                <div id=\"704b9331-499e-458f-877d-11aebb3c911e\" class=\"plotly-graph-div\" style=\"height:600px; width:800px;\"></div>            <script type=\"text/javascript\">                                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"704b9331-499e-458f-877d-11aebb3c911e\")) {                    Plotly.newPlot(                        \"704b9331-499e-458f-877d-11aebb3c911e\",                        [{\"coloraxis\":\"coloraxis\",\"name\":\"0\",\"texttemplate\":\"%{z}\",\"x\":[\"Normal\",\"Artial Premature\",\"Premature ventricular contraction\",\"Fusion of ventricular and normal\",\"Fusion of paced and normal\"],\"y\":[\"Normal\",\"Artial Premature\",\"Premature ventricular contraction\",\"Fusion of ventricular and normal\",\"Fusion of paced and normal\"],\"z\":[[0.9852632740920632,0.007230378628987747,0.005243404349265924,0.0016558118997681863,0.0006071310299150017],[0.12410071942446044,0.8615107913669064,0.007194244604316547,0.00539568345323741,0.0017985611510791368],[0.015883977900552487,0.0013812154696132596,0.9675414364640884,0.013812154696132596,0.0013812154696132596],[0.08024691358024691,0.0,0.09259259259259259,0.8271604938271605,0.0],[0.00808457711442786,0.0,0.006218905472636816,0.0,0.9856965174129353]],\"type\":\"heatmap\",\"xaxis\":\"x\",\"yaxis\":\"y\",\"hovertemplate\":\"Predicted: %{x}\\u003cbr\\u003eTrue: %{y}\\u003cbr\\u003eCount: %{z}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"scaleanchor\":\"y\",\"constrain\":\"domain\",\"title\":{\"text\":\"Predicted\"}},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"autorange\":\"reversed\",\"constrain\":\"domain\",\"title\":{\"text\":\"True\"}},\"coloraxis\":{\"colorbar\":{\"title\":{\"text\":\"Count\"}},\"colorscale\":[[0.0,\"rgb(247,251,255)\"],[0.125,\"rgb(222,235,247)\"],[0.25,\"rgb(198,219,239)\"],[0.375,\"rgb(158,202,225)\"],[0.5,\"rgb(107,174,214)\"],[0.625,\"rgb(66,146,198)\"],[0.75,\"rgb(33,113,181)\"],[0.875,\"rgb(8,81,156)\"],[1.0,\"rgb(8,48,107)\"]]},\"title\":{\"text\":\"Confusion Matrix\",\"x\":0.5},\"width\":800,\"height\":600},                        {\"responsive\": true}                    ).then(function(){\n",
              "                            \n",
              "var gd = document.getElementById('704b9331-499e-458f-877d-11aebb3c911e');\n",
              "var x = new MutationObserver(function (mutations, observer) {{\n",
              "        var display = window.getComputedStyle(gd).display;\n",
              "        if (!display || display === 'none') {{\n",
              "            console.log([gd, 'removed!']);\n",
              "            Plotly.purge(gd);\n",
              "            observer.disconnect();\n",
              "        }}\n",
              "}});\n",
              "\n",
              "// Listen for the removal of the full notebook cells\n",
              "var notebookContainer = gd.closest('#notebook-container');\n",
              "if (notebookContainer) {{\n",
              "    x.observe(notebookContainer, {childList: true});\n",
              "}}\n",
              "\n",
              "// Listen for the clearing of the current output cell\n",
              "var outputEl = gd.closest('.output');\n",
              "if (outputEl) {{\n",
              "    x.observe(outputEl, {childList: true});\n",
              "}}\n",
              "\n",
              "                        })                };                            </script>        </div>\n",
              "</body>\n",
              "</html>"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "-4-seYDl5Ykr"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}